题意:一根长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;
}