Cod sursa(job #35461)

Utilizator blasterzMircea Dima blasterz Data 22 martie 2007 08:52:10
Problema Schi Scor 55
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.01 kb
#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;
}