Pagini recente » Cod sursa (job #70520) | Cod sursa (job #367821) | Cod sursa (job #788095) | Cod sursa (job #3127337) | Cod sursa (job #1090557)
#include <fstream>
#define Max_Size 1000009
using namespace std;
ifstream f("interclasari.in");
ofstream g("interclasari.out");
int N, K, nr_el_sol;
int A[Max_Size], B[Max_Size * 20], Sol[Max_Size * 20];
int main()
{
f >> K;
int k = 0;
for(int t = 1; t <= K; ++t)
{
f >> N;
int i, j;
k = 0;
for(i = 1; i <= N; ++i) f >> A[i];
for(i = 1, j = 1; i <= N && j <= nr_el_sol;)
if(A[i] <= Sol[j])
{
B[++k] = A[i];
++i;
}
else
if(A[i] > Sol[j])
{
B[++k] = Sol[j];
++j;
}
for(; j <= nr_el_sol; ++j) B[++k] = Sol[j];
for(; i <= N; ++i) B[++k] = A[i];
nr_el_sol += N;
for(i = 1; i <= nr_el_sol; ++i) Sol[i] = B[i];
}
g << nr_el_sol << '\n';
for(int i = 1; i <= nr_el_sol; ++i) g << Sol[i] << ' ';
}