Cod sursa(job #2766924)

Utilizator bogdanvladmihaiBogdan Vlad-Mihai bogdanvladmihai Data 3 august 2021 21:19:25
Problema Interclasari Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <bits/stdc++.h>

using namespace std;

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

int k;

vector<int> v[21];

int main() {
  in >> k;
  set<tuple<int, int, int>> s;
  int sum = 0;
  for (int i = 1; i <= k; i++) {
    int l;
    in >> l;
    sum += l;
    v[i].resize(l);
    for (int j = 0; j < l; j++) {
      in >> v[i][j];
    }
    if (l > 0) {
      s.insert(make_tuple(v[i][0], 0, i));
    }
  }
  out << sum << "\n";
  while ((int)s.size() > 0) {
    tuple<int, int, int> top = *s.begin();
    s.erase(top);
    out << get<0>(top) << " ";
    int i = get<1>(top), ord = get<2>(top);
    if (i != v[ord].size() - 1) {
      s.insert(make_tuple(v[ord][i + 1], i + 1, ord));
    }
  }
  return 0;
}