Cod sursa(job #2517469)

Utilizator ArkhamKnightyMarco Vraja ArkhamKnighty Data 3 ianuarie 2020 16:58:09
Problema Lupul Urias si Rau Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.91 kb
#include <fstream>
#include <vector>
#include <queue>

using namespace std;

ifstream cin("lupu.in");
ofstream cout("lupu.out");

vector <int> G[200005];
priority_queue <int> Q;
int n, x, l, pos;
long long sol;

void citire()
{
    int dist, lana, tura ;

    cin >> n >> x >> l;
    for(int i = 1 ; i <= n ; i++)
    {
        cin >> dist >> lana;

        if(dist <= x)
        {
            tura = dist / l + (dist % l > x % l) + 1;
            cout << tura << ' ' << dist << ' ' << lana << '\n';
            G[tura].push_back(lana);
        }

    }

}

void rez()
{
    for(int i = 1 ; i <= x / l + 1 ; i++)
    {
        for(int j = 0 ; j < G[i].size() ; j++)
            Q.push(G[i][j]);

        if(!Q.empty())
        {
            sol += Q.top();
            Q.pop();
        }
    }


    cout << sol;
}

int main()
{
    citire();
    rez();
    return 0;
}