水题。。有点像蓝桥交换蚂蚁那道题。
#include<bits/stdc++.h> using namespace std; const int maxn=5500; int l,n; struct node{ int pos; int minn; int maxx; }a[maxn]; int cmp1(node a1,node a2){ return a1.minn>a2.minn; } int cmp2(node a1,node a2){ return a1.maxx>a2.maxx; } int main() { cin>>l>>n; for(int i=0;i<n;i++){ scanf("%d",&a[i].pos); a[i].minn=min(a[i].pos-0,l+1-a[i].pos); a[i].maxx=max(a[i].pos-0,l+1-a[i].pos); } sort(a,a+n,cmp1); cout<<a[0].minn<<" ";//最少时间取最大的 sort(a,a+n,cmp2); cout<<a[0].maxx<<endl;//最大时间取最大的 return 0; }