Cod sursa(job #2576634)

Utilizator Antonio03Dumitru Antonio Antonio03 Data 6 martie 2020 21:17:41
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;

priority_queue < int > Q;

struct nod
{
    int x, y;
} v[100001];

bool cmp(nod a, nod b)
{
    return a.x < b.x; ///sortam crescator
}

int n, L, k, i, j, val, t, lim;
long long s;

ifstream fin("lupu.in");
ofstream fout("lupu.out");

int main()
{
    fin >> n >> L >> k;
    for(i = 1; i <= n; i ++)
        fin >> v[i].x >> v[i].y;
    sort(v + 1, v + n + 1, cmp);
    i = 1;
    for(lim = 0;lim <= L && i <= n; lim = lim + k)
    {
        for(i = i; v[i].x <= lim && i <= n; i ++)
            Q.push(v[i].y);
        if( !Q.empty() )
        {
            val = Q.top();
            s = s + val;
            Q.pop();
        }
    }
    fout << s;
    return 0;
}