Pagini recente » Cod sursa (job #2155845) | Arhiva de probleme | Cod sursa (job #2344295) | Cod sursa (job #2109206) | Cod sursa (job #1029300)
#include <fstream>
#include <map>
using namespace std;
ifstream in("schi.in"); ofstream out("schi.out");
int sol[30001],a[30001],n,nr;
map <int, int> m;
int main(){
in>>n; //Sol evidenta, mapuri
for(int i=1;i<=n;++i) {m[i]=1;in>>a[i];}
for(int i=n,j=1;i>=1;--i){
nr=0;
map<int,int> :: iterator it2;
for(map<int,int> :: iterator it=m.begin(); nr!=a[i]; ++it){
if(it==m.end())
it=m.begin();
++nr;
j=(*it).first; it2=it;
}
sol[j]=i;
m[j]=0;
m.erase(it2);
}
for(int i=1;i<=n;++i) out<<sol[i]<<'\n';
out.close();
return 0;
}