Pagini recente » Cod sursa (job #2959125) | Cod sursa (job #2538025) | Cod sursa (job #972966) | Cod sursa (job #386997) | Cod sursa (job #1093694)
#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;
}