Cod sursa(job #85207)

Utilizator gabitzish1Gabriel Bitis gabitzish1 Data 20 septembrie 2007 16:53:28
Problema Schi Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include<stdio.h>
#include<stdlib.h>

int i, n, x;
typedef struct
{
  int x, poz;
} loc;
loc v[30005], c[30005];

int cmp(const void*a, const void*b)
{
  long int x=*(long int*)a, y=*(long int*)b;
  if(c[x].x==c[y].x) return c[x].poz-c[y].poz;
    else return c[x].x-c[y].x;
}


int main()
{
  freopen("schi.in","r",stdin);
  freopen("schi.out","w",stdout);
  scanf("%d",&n);
  int j;
  int ord[30005];
  for (i=0; i<n; i++)
  {
    scanf("%d",&c[i].x);
    c[i].poz=i;
    for (j=0; j<i; j++)
     if(c[j].x>=c[i].x) c[j].x++;
    ord[i]=i;
  }
  qsort(ord,n,sizeof(ord[0]),cmp);
  for (i=0; i<n; ++i)
    {
      v[i].x=c[ord[i]].x;
      v[i].poz=c[ord[i]].poz;
      printf("%d\n",v[i].poz+1);
    }
  

  return 0;
}