Codeforces 996B. World Cup
讲一下思路:题目让我们求这个人从哪个入口进去,由于他比较笨,只会从一到n的各个入口查看,再回到1,周而复始。所以我们需要判断哪个入口最先能让他进去。我们看成一轮一轮地判断哪个入口是可行的。于是答案就显而易见了。
#include <bits/stdc++.h>
using namespace std;
int n,a[100001],b[100001],ans = 1e9+1,u;
int main(){
cin>>n;
for(int i = 1;i<=n;i++) {
cin>>a[i];
b[i] += a[i]/n+(a[i]%n>i-1?1:0); //数组b记录各个入口能让那个人进去的轮数
}
for(int i = 1;i<=n;i++)
if(b[i]<ans) u = i,ans = b[i];
cout<<u;
return 0;
}