Cod sursa(job #1093694)

Utilizator chiriacandrei25Chiriac Andrei chiriacandrei25 Data 28 ianuarie 2014 14:55:33
Problema Interclasari Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.9 kb
#include <cstdio>
#include <iostream>

using namespace std;

int a[21][1000005],sol[2000005],ind[25],K;

int main()
{
    int i,j,minim,poz,ok;
    freopen ("interclasari.in","r",stdin);
    freopen ("interclasari.out","w",stdout);
    scanf("%d", &K);
    for(i=1;i<=K;++i)
    {
        scanf("%d", &a[i][0]);
        for(j=1;j<=a[i][0];++j)
            scanf("%d", &a[i][j]);
    }
    sol[0]=0;
    for(i=1;i<=K;++i)
        ind[i]=1;
    ok=1;
    while(ok)
    {
        minim=2000000000;
        for(i=1;i<=K;++i)
            if(ind[i]<=a[i][0] && a[i][ind[i]]<minim)
            {
                minim=a[i][ind[i]]; poz=i;
            }
        if(minim==2000000000)
            ok=0;
        else
            sol[++sol[0]]=a[poz][ind[poz]++];
    }
    printf("%d\n", sol[0]);
    for(i=1;i<=sol[0];++i)
        printf("%d ", sol[i]);
    printf("\n");
    return 0;
}