Cod sursa(job #3220187)

Utilizator gianiferSpita Alexandru-Mihai gianifer Data 2 aprilie 2024 19:07:45
Problema Lupul Urias si Rau Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <bits/stdc++.h>

using namespace std;

ifstream fin("lupu.in");

ofstream fout("lupu.out");

int n;

int dist_max, dist_oi;

pair<int, int> oi[100005];
priority_queue<int> q;
int main()
{
    fin >> n >> dist_max >> dist_oi;
    for (int i = 1; i <= n; i++)
    {
        fin >> oi[i].first >> oi[i].second;
    }

    sort(oi + 1, oi + n + 1);
    int i = 1;
    long long int rez = 0;
    int sclav;
    for (sclav = 0; sclav <= dist_max; sclav += dist_oi)
    {
        
        while (i <= n && oi[i].first <= sclav)
        {
            q.push(oi[i].second);
            i++;
        }
        if (!q.empty())
        {
            rez += q.top();
            q.pop();
        }
    }
    fout << rez;
}