POJ 1852 Ants
两个蚂蚁相遇返回,可以看作穿墙过去。
算出每只蚂蚁最短距离和最长距离,更新ans即可
#include <cstdio>
using namespace std;
int main()
{
int n_case;
scanf("%d", &n_case);
for (int i=0;i<n_case;i++)
{
int l, n;
scanf("%d%d", &l, &n);
int ans_min = 0, ans_max = 0;
for (int j=0;j<n;j++)
{
int d, d_min, d_max;
scanf("%d", &d);
if (d>l/2) d_min = l-d; else d_min = d;
d_max = l - d_min;
if (d_min>ans_min) ans_min = d_min;
if (d_max>ans_max) ans_max = d_max;
}
printf("%d %d\n", ans_min, ans_max);
}
return 0;
}