加强赛E - Ants POJ - 1852
Posted 雪晨
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了加强赛E - Ants POJ - 1852相关的知识,希望对你有一定的参考价值。
感谢我的学长对我的带领;该题思想来源于WArobot;
输入数据:
N(N组测试数据)
L (绳长)n(蚂蚁的个数)
接下来是n个数据(n个蚂蚁每个在绳子上距离绳子最左端的距离l)
该题给出每个蚂蚁的速度均为1cm/s,所以该问题无需考虑;
输出:
蚂蚁的最短掉落时间和最长的掉落时间;
掉落的最短时间:
找出每一只蚂蚁离最左端的距离和离最右端的距离的最小值再将这些数据比较,找出最大的,因为掉落的最短时间取决于最后一个掉落的蚂蚁的时间;
掉落的最长时间:
其实条件中的两只蚂蚁相遇往回反的条件可以忽略,只需找出每一只蚂蚁离最左端的距离和离最右端的距离的最大值再将这些数据比较,找出最大的;
代码如下:
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cmath>
using namespace std;
const int M=1e6+10;
int s[M];
int main(){
int t,L,n,s_max,s_min;
cin>>t;
while(t--){
scanf("%d%d",&L,&n);
s_min=s_max=-M;
for(int i=0;i<n;i++){
scanf("%d",&s[i]);
s_min=max(s_min,min(s[i],L-s[i]));
s_max=max(s_max,max(s[i],L-s[i]));
}
printf("%d %d\n",s_min,s_max);
}
return 0;
}
以上是关于加强赛E - Ants POJ - 1852的主要内容,如果未能解决你的问题,请参考以下文章