Cod sursa(job #1014216)

Utilizator denisx304Visan Denis denisx304 Data 22 octombrie 2013 12:54:53
Problema Statistici de ordine Scor 0
Compilator c Status done
Runda Arhiva educationala Marime 0.91 kb
#include <stdio.h>
int main()
{
    int a[2000000],v[2000000],i,n,j,comp,contor,sw,k;
    FILE *f,*g;
    f=fopen("invsc.in","r");
    g=fopen("invsc.out","w");
    fscanf(f,"%d",&n);
    for (i=0;i<n;i++)
           fscanf(f,"%d",&v[i]);
    fclose(f);
    a[0]=1;
    a[1]=2;
    for (j=2;j<n;j++)
    {
        if (v[j]==2){
            a[j]=2;
            for (k=1;k<j;k++)
                a[k]++;
        }
        else{
        comp=a[0];
        contor=1;
        k=0;
        sw=0;
        do
        {
            k++;
            if (a[k]==comp+1)
            {
                contor++;
                comp=a[k];
            }
            if (contor==v[j]-1) sw=1;
        }
        while (sw==0);
        a[j]=comp+1;
        for (k=0;k<j;k++)
            if (a[k]>=a[j]) a[k]++;
    }}
    for (i=0;i<n;i++)
        fprintf(g,"%d\n",a[i]);
    fclose(g);
    return 0;
}