Cod sursa(job #2415256)

Utilizator Alex_BubBuburuzan Alexandru Alex_Bub Data 25 aprilie 2019 17:50:35
Problema Interclasari Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.95 kb
#include <fstream>

using namespace std;

ifstream fin("interclasari.in");
ofstream fout("interclasari.out");

const int NMax = 1e6;

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;
}