Cod sursa(job #2467365)

Utilizator denmirceaBrasoveanu Mircea denmircea Data 4 octombrie 2019 09:34:33
Problema A+B Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.13 kb
#include <iostream>
#include <fstream>
#include <deque>
#include <set>
using namespace std;
ifstream fin("ghizi.in");
ofstream fout("ghizi.out");
set <int> s,s2;
int n,k;
int main()
{
    fin>>n>>k;
    for(i=1; i<=n; i++)
    {
        fin>>x>>y;
        L[x].push_back({y,i});
    }
    for(i=0; i<L[0].size(); i++)
    {
        d[L[0][i].first].push_back(L[0][i].second);
    }
    for(i=1; i<100; i++)
    {
        if(d[i].size()!=0)
        {
            for(j=0; j<L[i].size(); j++)
                d[L[i][j].first].push_back(L[i][j].second);
        }
    }
    while(k)
    {
        s2.clear();
        p=100;
        ok=1;
        while(p && ok)
        {
            if(d[p].size()>0)
            {
                s2.insert(d[p][d.size()-1]);
                p=v[d[p][d.size()-1]].first;
                d.pop_back();
            }
            else
                ok=0;
        }
        if(ok){
            for(auto it=s2.begin();it!=s2.end();it++){
                s.insert(*it);
            }
        }
    }
    for(auto it=s.begin();it!=s.end;it++){
        fout<<*it<<" ";
    }
}