Cod sursa(job #2724778)

Utilizator Edyci123Bicu Codrut Eduard Edyci123 Data 17 martie 2021 20:00:33
Problema Lupul Urias si Rau Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <bits/stdc++.h>

using namespace std;

ifstream f("lupu.in");
ofstream g("lupu.out");

int n, l, d, x, puf[100005], stratMax;
map <int, vector<int>> v;
priority_queue <int> q;
long long sol;

int main()
{
    f >> n >> x >> l;

    for(int i = 1; i <= n; i++)
    {
        f >> d >> puf[i];
        if(d <= x)
        {
            int stratAct = (x - d) / l;
            v[stratAct].push_back(i);
            stratMax = max(stratAct, stratMax);
        }
    }
    for(int i = stratMax; i >= 0; i--)
    {
        for(auto k : v[i])
            q.push(k);
        if(!q.empty())
        {
            sol += puf[q.top()];
            q.pop();
        }
    }

    g << sol;
    return 0;
}