Cod sursa(job #1083364)

Utilizator rares96cheseliRares Cheseli rares96cheseli Data 15 ianuarie 2014 22:14:19
Problema Lupul Urias si Rau Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <fstream>
#include <algorithm>
#include <queue>
using namespace std;
ifstream f("lupu.in");
ofstream g("lupu.out");

struct oaie{ int D, L; }a[100005];
bool cmp(const oaie &A, const oaie &B)
{
    if (A.D<B.D) return 1;
    return 0;
}

long long N, Dmax, dist, i=1;
priority_queue < int > H;
long long sol;

int main()
{
    f>>N>>Dmax>>dist;
    for (int ii=1; ii<=N; ++ii)
        f>>a[ii].D>>a[ii].L;

    sort(a+1, a+N+1, cmp);

    for (long long d=0; i<=N && d<=Dmax; d+=dist)
    {
        for (; i<=N && a[i].D<=d; ++i)
            H.push(a[i].L);

        if (H.size())
            sol+=H.top(); H.pop();
    }
    g<<sol<<'\n';
    return 0;
}