Cod sursa(job #1984052)

Utilizator Lazar_LaurentiuLazar Laurentiu Lazar_Laurentiu Data 23 mai 2017 16:03:48
Problema Interclasari Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.11 kb
#include <iostream>
#include <fstream>
#include <vector>
#include <set>

#define nr_echipa second
#define timp first

using namespace std;

int n,l,lt,ts,ind[21];
vector <int> t[21];
set <pair<int,int>> time;

int main()
{
    ifstream f ("interclasari.in");
    ofstream g ("interclasari.out");
    f>>n;
    for(int i=1;i<=n;i++){
      f>>l;
      lt+=l;
      for(int j=1;j<=l;j++){
        f>>ts;
        t[i].push_back(ts);
      }
    }
    for(int i=1;i<=n;i++){
      pair <int,int> aj;
      if(t[i].size()>=1){
        ind[i]=0;
        aj.nr_echipa=i;
        aj.timp=t[i].front();
        time.insert(aj);
      }
    }
    //for(auto i:time) cout<<i.nr_echipa<<' '<<i.timp<<'\n';
    g<<lt<<'\n';
    for(int i=1;i<=lt;i++){
      pair <int,int> aj,aj2;
      aj=*time.begin();
      time.erase(time.begin());
      g<<aj.timp<<" ";
      if(ind[aj.nr_echipa]<t[aj.nr_echipa].size()-1){
        aj2.nr_echipa=aj.nr_echipa;
        aj2.timp=t[aj.nr_echipa][++ind[aj.nr_echipa]];
        time.insert(aj2);
      }
    }
    f.close ();
    g.close ();
    return 0;
}