提交时间:2026-01-04 15:44:25

运行 ID: 81281

#include<bits/stdc++.h> using namespace std; int a[10005]; bool used[10005]={0}; int m,n; int main() { cin>>n>>m; for(int i=1;i<=n;i++) { cin>>a[i]; int x=a[i]; for(int j=1;j<=a[i];j++) x-=used[j]; used[a[i]]=1; a[i]=x-1; } a[n]+=m; for(int i=n;i>0;i--) { a[i-1]+=a[i]/(n-i+1); a[i]%=n-i+1; } memset(used,0,sizeof(used)); for(int i=1;i<=n;i++) { for(int j=0;j<=a[i];j++) if(used[j]) a[i]++; cout<<a[i]+1<<" "; used[a[i]]=1; } return 0; }