题目链接 http://acm.hust.edu.cn/vjudge/problem/19946
解题思路
1、蚂蚁们的顺序不变。
2、可以把蚂蚁的碰头直接看成两只蚂蚁交换身份。
代码
#include<stdio.h> #include<algorithm> #define MAX_LEN 1000005 using namespace std; int ants[MAX_LEN]; int main() { int minv, maxv; int cases; scanf("%d", &cases); while(cases--) { int lenth, number; minv = 0; scanf("%d%d", &lenth, &number); for(int i=0; i<number; i++) scanf("%d", &ants[i]); sort(ants, ants+number); for(int i=0; i<number; i++) { int a = lenth-ants[i]<ants[i]?lenth-ants[i]:ants[i]; if(a > minv) minv = a; } maxv = lenth-ants[0]>ants[number-1]?lenth-ants[0]:ants[number-1]; printf("%d %d\n", minv, maxv); } return 0; }