Pagini recente » Cod sursa (job #1061336) | Cod sursa (job #611768) | Cod sursa (job #1626569) | Cod sursa (job #1532587) | Cod sursa (job #2415259)
#include <fstream>
using namespace std;
ifstream fin("interclasari.in");
ofstream fout("interclasari.out");
const int NMax = 2e7;
int S[NMax + 5], N, T, A[NMax + 5], B[NMax + 5];
void Interclasare(int a, int b)
{
int i = 1, j = 1; N = 0;
while(i <= a && j <= b)
{
if(A[i] <= B[j])
S[++N] = A[i], i++;
else
S[++N] = B[j], j++;
}
while(i <= a) S[++N] = A[i++];
while(j <= b) S[++N] = B[j++];
}
int main()
{
fin >> T >> N; T--;
for(int i = 1; i <= N; i++)
fin >> S[i];
while(T--)
{
fin >> B[0];
for(int i = 1; i <= B[0]; i++)
fin >> B[i];
for(int i = 1; i <= N; i++)
A[i] = S[i];
Interclasare(N, B[0]);
}
fout << N << '\n';
for(int i = 1; i <= N; i++)
fout << S[i] << " ";
fout << '\n';
fin.close();
fout.close();
return 0;
}