Cod sursa(job #1709771)

Utilizator DEFINEtelyEngineersUPB Pirtoaca Vasilescu Zamfiratos DEFINEtelyEngineers Data 28 mai 2016 13:49:49
Problema Politie Scor 0
Compilator cpp Status done
Runda ONIS 2016 - Runda - 2 - ACM ICPC Romanian Programming Contest Marime 0.92 kb
#include <iostream>
#include <vector>
#include <set>
#include <fstream>
#include <vector>
#include <algorithm>

std::ifstream in("politie.in");
std::ofstream out("politie.out");

std::vector<int> V;

int main() {
    int N, M, D, K;
    in >> N >> M >> D >> K;

    for (int i = 1; i <= M; i++) {

        int x, y, z, q;
        in >> x >> y >> z >> q;

        V.push_back(q);
    }

    std::sort(V.begin(), V.end(), std::greater<int>());
    std::set <int, std :: greater <int> > sol;

        for(int i = 0; i < K; i++)
            sol.insert(V[i]);
        K = K - sol.size();
        int i = M - 1;
        while(K >= 1) {
            if(sol.find(V[i]) == sol.end()) {
                sol.insert(V[i]);
                K--;
            }
            i--;
        }

    for(std :: set <int> :: iterator it = sol.begin(); it!=sol.end(); it++)
        out << *it << '\n';

    return 0;
}