真的遇到了怪事情,同样的代码提交,一开始90分,有一个RE,但我代码没错。又提交了几次,突然就通过了。真的遇到鬼了。
#include <bits/stdc++.h>
using namespace std;
int main(){
int N,M;
int a[10005];
bool b[10005];
cin>>N>>M;
for(int i=1;i<=N;i++){
cin>>a[i];
}
for(int i=1;i<=N;i++){
b[i]=true;
}
for(int i=1;i<=N;i++){
int p=0;
for(int j=1;j<=N;j++){
if(j==a[i]){
a[i]=p;
b[j]=false;
break;
}
if(b[j]){
p++;
}
}
}
a[N]+=M;
for(int i=N;i>0;i--){
a[i-1]+=a[i]/(N+1-i);
a[i]=a[i]%(N+1-i);
}
for(int i=1;i<=N;i++){
b[i]=true;
}
for(int i=1;i<=N;i++){
int p=-1;
for(int j=1;j<=N;j++){
if(b[j]) p++;
if(a[i]==p){
b[j]=false;
a[i]=j;
break;
}
}
}
for(int i=1;i<=N;i++) cout<<a[i]<<" ";
return 0;
}