Cod sursa(job #2032749)

Utilizator osiaccrCristian Osiac osiaccr Data 5 octombrie 2017 17:27:27
Problema Lupul Urias si Rau Scor 28
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <fstream>
#include <queue>
#define DEF 100001
#define INF 4294967295

using namespace std;

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

struct oaie {
    int l, d;
} v[DEF];

priority_queue < int, vector <int> > S;

int n, sol, x, l, Tmax, T[DEF];

int main () {
    fin >> n >> x >> l;
    for (int i = 1; i <= n; i++) {
        fin >> v[i].d >> v[i].l;
        T[i] = (x - v[i].d) / 2 + 1;
        if (T[i] > Tmax)
            Tmax = T[i];
        if (T[i] < 0)
            T[i] = INF;
    }

    for (int i = Tmax; i >= 1; i--) {
        for (int j = 1; j <+ n; j++) {
            if (T[j] == i) {
                S.push (v[j].l);
            }
        }
        sol += S.top ();
        S.pop ();
    }

    fout << sol;

    return 0;
}