​http://www.elijahqi.win/archives/3873​​​
算一下每只队伍最早什么时候可以轮到那个位置进场 然后贪心从头开始选最小即可

#include<bits/stdc++.h>
using namespace std;
int n,a[110000],t[100100];
int main(){
freopen("b.in","r",stdin);
scanf("%d",&n);
for (int i=1;i<=n;++i) scanf("%d",&a[i]);
for (int i=1;i<=n;++i){
if(a[i]<=i-1) continue;
a[i]-=i-1;t[i]=a[i]/n;
if (t[i]*n<a[i]) t[i]+=1;
}int mn=0x3f3f3f3f,pos=-1;
for (int i=1;i<=n;++i){
if (t[i]<mn) mn=t[i],pos=i;
}printf("%d\n",pos);
return 0;
}