Cod sursa(job #3156645)

Utilizator Alex_BerbescuBerbescu Alexandru Alex_Berbescu Data 11 octombrie 2023 23:47:05
Problema Lupul Urias si Rau Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.82 kb
#pragma GCC optimize("O3")
#pragma GCC optimize("fast-math")
#pragma GCC optimize("unroll-loops")
#include<bits/stdc++.h>
using namespace std;
long long n, x, l, sum = 0, a, b;
ifstream fin("lupu.in");
ofstream fout("lupu.out");
struct sheep
{
    int lana, dist;
    bool operator <(const sheep & ob) const
    {
        return dist < ob.dist;
    }
}v[100005];
priority_queue<int>pq;
int main()
{
    fin >> n >> x >> l;
    for(int i = 1; i <= n; ++i)
    {
        fin >> v[i].dist >> v[i].lana;
    }
    sort(v + 1, v + n + 1);
    int i = 1;
    for(int d = 0; d <= x && i <= n; d += l)
    {
        for(i = i; i <= n && v[i].dist <= d; i++)
        {
            pq.push(v[i].lana);
        }
        if(!pq.empty())
        {
            sum += pq.top();
            pq.pop();
        }
    }
    fout << sum;
    return 0;

}