Pagini recente » Cod sursa (job #907319) | Cod sursa (job #2386945) | Cod sursa (job #2284789) | Cod sursa (job #1749970) | Cod sursa (job #3311680)
#include <bits/stdc++.h>
using namespace std;
int main() {
ifstream cin("schi.in");
ofstream cout("schi.out");
map<int,int> empty;
map<int,int> vals;
int n;
cin>>n;
vector<int> v(n+1);
for(int i=1;i<=n;i++)
cin>>v[i];
empty[v[n]]=n;
vals[v[n]]++;
for(int i=n-1;i>0;i--){
int pos = v[i],sum=0;
for(auto j:vals){
if(j.first>pos)
break;
sum+=j.second;
}
pos = pos+sum;
if(empty[pos]==0)
empty[pos] = i;
else{
for(auto j : empty){
if(j.first>=pos and empty[j.first+1]==0){
empty[j.first+1] = i;
break;
}
}
}
vals[v[i]]++;
}
for(int i=1;i<=n;i++)
cout<<empty[i]<<"\n";
}