uva10714 简单贪心

题意:一根长l的绳子上有n个蚂蚁,每个蚂蚁的位置给出,行走方向不确定,求出蚂蚁全部走到端点掉下去的时间,最短和最长。

最长时间很好求比较每个蚂蚁到两段的时间就知道。最短是在最小数里面求最大。具体看代码。

//

//  uva10714.cpp

//  greedy

//

//  Created by ni ni on 15/4/26.

//  Copyright (c) 2015 ni ni. All rights reserved.

//


#include <stdio.h>

#include <iostream>

#include <algorithm>

const int maxn=1e7;

using namespace std;

int lenth,n;

int pos[maxn];

int _max,_min;

void readdata()

{

    cin>>lenth>>n;

    for (int i=0; i<n; i++) {

        cin>>pos[i];

    }

}

void solve()

{

    _max=0;_min=0;

    sort(pos, pos+n);

    _max=pos[n-1];

    _min=pos[0];

    if (_max<lenth-pos[0]) {

        _max=lenth-pos[0];

    }

    for (int i=0; i<n; i++) {

        int tem=lenth-pos[i];

        tem=min(tem, pos[i]);

        if (tem>_min) {

            _min=tem;

        }

    }

    cout<<_min<<' '<<_max<<endl;

}

int main()

{

    int cas;

    cin>>cas;

    while (cas--) {

        readdata();

        solve();

    }

    return 0;

}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值