Pagini recente » Cod sursa (job #1933223) | Cod sursa (job #1698705) | Cod sursa (job #1348367) | Cod sursa (job #2617540) | Cod sursa (job #1074444)
#include<fstream>
using namespace std;
ifstream f ("schi.in");
ofstream g ("schi.out");
int n,v[30000],i,q[66000],x,y,j,w[30000];
int main()
{
f>>n;
for(i=1;i<=n;i++)
f>>v[i];
for(i=n;i>=1;i--)
{
j=1;
x=n;
y=1;
q[j]++;
while(x!=y)
{
if((x+y)/2-y+1-q[j*2]>=v[i])
{
x=(x+y)/2;
j*=2;
q[j]++;
}
else
{
v[i]=v[i]-((x+y)/2-y+1-q[j*2]);
y=(x+y)/2+1;
j=j*2+1;
q[j]++;
}
}
w[x]=i;
}
for(i=1;i<=n;i++)
g<<w[i]<<'\n';
}