Cod sursa(job #1095842)

Utilizator rughibemBelcineanu Alexandru Ioan rughibem Data 1 februarie 2014 00:27:43
Problema Interclasari Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include<stdio.h>
#define DIM1 1000002
#define DIM2 20000002
FILE *f=fopen("interclasari.in","r"), *g=fopen("interclasari.out","w");

long int k, n, a[DIM1], b[DIM1], x, y, v[DIM2], lv=0, la, lb, i, j;

int main(){

    fscanf(f,"%ld\n",&k);
    for(i=1;i<=k;i++){

        fscanf(f,"%ld\n",&n); la=n;
        for(j=1;j<=n;j++)fscanf(f,"%ld\n",&a[j]);

        x=1; y=1; lb=0;
        while( x<=la && y<=lv ){

            if( a[x]<v[y] )
                {b[++lb]=a[x]; x++;}
            else
                {b[++lb]=v[y]; y++;}

        }

        while(x<=la) {b[++lb]=a[x]; x++;}
        while(y<=lv) {b[++lb]=v[y]; y++;}

        lv=lb;
        for(j=1;j<=lv;j++)v[j]=b[j];

    }

    fprintf(g,"%ld\n",lv);
    for(i=1;i<=lv;i++)fprintf(g,"%ld ",v[i]);

return 0;
}