Cod sursa(job #2108428)

Utilizator VoineaAndreiVoinea Ioan-Andrei VoineaAndrei Data 18 ianuarie 2018 11:53:59
Problema Schi Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include<bits/stdc++.h>
using namespace std;

#define n_Max 30000

ifstream f("schi.in");
ofstream g("schi.out");

struct concurent{
    int poz_intermed;
    int nr_concurent;
};
concurent v[n_Max];


int compar(const void * a, const void * b){
    concurent *s= (concurent *)a;
    concurent *d= (concurent *)b;
    return (s->poz_intermed - d->poz_intermed);
}

void update(int poz){
    for(int i=1;i<poz;++i){
        if(v[i].poz_intermed>=v[poz].poz_intermed) ++v[i].poz_intermed;
    }
}

int main(){
    int n,x;
    f>>n;
    v[0]={0,0};
    for(int i=1;i<=n;++i){
            f>>x;
        v[i]={x,i};
        update(i);
    }
    qsort(v,n+1,sizeof(concurent),compar);

    for(int i=1;i<=n;++i){
        g<<v[i].nr_concurent<<'\n';
    }





}