uva 10714 Ants

题意:求在一根杆上的蚂蚁全部掉下杆最小需要和最大需要多久,如果蚂蚁碰头,两个都会掉转方向,刚开始的蚂蚁朝向是步确定的,所以最小的时间是,最靠近中间的蚂蚁,朝靠近的一边走,而且每只蚂蚁都朝靠近的一边走,最长的时间就是,距离两端相对较长的,因为即使碰头了,也只是交换了位置继续走,不会影响

#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;

int main()
{
    int t,l,x,n;
    scanf("%d",&t);
    while (t--)
    {
        scanf("%d%d",&l,&n);
        int max_x = -1,min_x = -1,cnt;
        for (int i = 0; i < n; i++)
        {
            scanf("%d",&x);
            cnt = x>(l-x)?x:(l-x);
            max_x = max_x>cnt?max_x:cnt;
            min_x = min_x>(l-cnt)?min_x:(l-cnt);
        }
        printf("%d %d\n",min_x,max_x);
    }
    return 0;
}



你可能感兴趣的:(uva 10714 Ants)