Cod sursa(job #1384016)

Utilizator rares96cheseliRares Cheseli rares96cheseli Data 10 martie 2015 20:06:35
Problema Lupul Urias si Rau Scor 100
Compilator cpp Status done
Runda Teme Pregatire ACM Unibuc 2014, Anul II Marime 0.7 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];
struct cmp
{
    bool operator()(const oaie &a, const oaie &b)const
    {
        return (a.D<b.D);
    }
};

int 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 (int d=0; i<=N && d<=Dmax; d+=dist)
    {
        while (i<=N && a[i].D<=d)
            H.push(a[i].L), ++i;

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