Cod sursa(job #2499366)

Utilizator IulianOleniucIulian Oleniuc IulianOleniuc Data 25 noiembrie 2019 23:01:18
Problema Interclasari Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <bits/stdc++.h>
using namespace std;

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

int main() {
    int k; fin >> k;
    vector<vector<int>> v(k);

    int cnt = 0;
    vector<int> crt(k);
    priority_queue<pair<int, int>, vector<pair<int, int>>, greater<pair<int, int>>> pq;

    for (int i = 0; i < k; i++) {
        int n; fin >> n; cnt += n;
        v[i].resize(n);
        for (int j = 0; j < n; j++)
            fin >> v[i][j];
        if (n)
            pq.emplace(v[i][crt[i]++], i);
    }

    fout << cnt << '\n';
    while (cnt--) {
        auto top = pq.top(); pq.pop();
        fout << top.first << ' ';
        if (crt[top.second] < (int) v[top.second].size())
            pq.emplace(v[top.second][crt[top.second]++], top.second);
    }
    fout << '\n';

    fout.close();
    return 0;
}