Cod sursa(job #2594614)

Utilizator betybety bety bety Data 6 aprilie 2020 13:58:40
Problema Lupul Urias si Rau Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <fstream>
#include <queue>
using namespace std;
ifstream cin("lupu.in");
ofstream cout("lupu.out");
vector<long long> timp[100005];
priority_queue<long long> pq;
int main()
{
    long long n,x,l,maxx=0;
    cin>>n>>x>>l;
    for(long long i=1;i<=n;++i)
    {
        long long d,a;
        cin>>d>>a;
        if(x-d<0) continue;
        timp[(x-d)/l+1].push_back(a);
        maxx=max(maxx,(x-d)/l+1);
    }
    long long lana=0;
    for(long long i=maxx;i>=1;--i)
    {
        for(long long j=0;j<timp[i].size();++j)
            pq.push(timp[i][j]);
        if(pq.empty()) continue;
        lana+=pq.top();
        pq.pop();
    }
    cout<<lana;
    return 0;
}