Pagini recente » Cod sursa (job #2479083) | Cod sursa (job #3275750) | Cod sursa (job #374980) | Cod sursa (job #1955883) | Cod sursa (job #35461)
Cod sursa(job #35461)
#include <cstdio>
#include <set>
#include <list>
using namespace std;
struct nod { int x, poz;};
bool operator<(const nod &a, const nod &b)
{
if(a.poz<b.poz) return 1;
if(a.poz==b.poz) if(a.x<b.x) return 1;
return 0;
}
set<nod> Q;
void calcul()
{
int n, i;
nod x;
freopen("schi.in", "r", stdin);
scanf("%d\n", &n);
list<nod> Q;
list<nod>::iterator it;
scanf("%d\n", &x.poz);
x.x=1;
Q.push_back(x);
//printf("(%d )", x.poz);
for(i=2;i<=n;i++)
{
scanf("%d\n", &x.poz);
x.x=i;
//printf("(%d) ", x.poz);
it=Q.begin();
for(int j=1;j<x.poz;j++) it++;
Q.insert(it, x);
}
freopen("schi.out", "w", stdout);
for(it=Q.begin();it!=Q.end();it++) printf("%d\n", it->x);
}
int main()
{
int n, i;
nod x;
calcul();
/*
freopen("schi.in", "r", stdin);
scanf("%d\n", &n);
int t=0;
for(i=1;i<=n;i++)
{
scanf("%d\n", &x.poz);
// printf("%d\n", x.poz);
x.x=i;
// x.poz-=t;
// t--;
Q.insert(x);
}
for(set<nod>::iterator it=Q.begin();it!=Q.end();++it) printf("%d\n", it->x);
*/
return 0;
}