Cod sursa(job #1614043)

Utilizator AeroHHorea Stefan AeroH Data 25 februarie 2016 19:34:47
Problema Lupul Urias si Rau Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <bits/stdc++.h>
#define eps 1000000000
using namespace std;
string z = "lupu.";

ifstream f(z+"in");
ofstream g(z+"out");

priority_queue<int> q;
vector<pair<int,int> > v;
int n,x,l,i,j,a,b,rasp;
int main()
{
    f>>n>>x>>l;x/=l;
    for (i=1;i<=n;++i)
        {
            f>>a>>b;
            a=(a+l-1)/l;
            v.push_back({a,b});
        }
    sort(v.begin(),v.end());

    for(i=0;i<=x;++i)
    {
        while(j<v.size() && v[j].first<=i)
        {
            q.push(v[j].second);
            ++j;
        }
        if (q.size())
        {
            rasp+=q.top();
            q.pop();
        }
    }
    g<<rasp;

    return 0;
}