Pagini recente » Cod sursa (job #1144300) | Cod sursa (job #1144819)
#include<fstream>
#define NMAX 30005
using namespace std;
ifstream fin("schi.in");
ofstream fout("schi.out");
short n,v[NMAX],AIB[NMAX],sol[NMAX],Cnt[NMAX];
bool use[NMAX];
int query(int R)
{
int s=0;
for(int i=R;i;i-=(i&(-i)))
s+=AIB[i];
return s;
}
void update(int poz)
{
for(int i=poz;i<=n;i+=(i&(-i)))
AIB[i]++;
}
int main()
{
fin>>n;
for(int i=1;i<=n;i++)
fin>>v[i];
for(int i=n,j;i;i--)
{
int Plus=/*query(v[i]);*/0;
for(int j=1;j<=v[i];j++)
Plus+=Cnt[j];
for(j=v[i]+Plus;use[j];j++);
sol[j]=i;
//update(v[i]);
Cnt[v[i]]++;
use[j]=1;
}
for(int i=1;i<=n;i++)
fout<<sol[i]<<'\n';
return 0;
}