Cod sursa(job #3308833)

Utilizator Bolfa_DBolfa Diana Bolfa_D Data 28 august 2025 16:57:17
Problema Lupul Urias si Rau Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.87 kb
#include <bits/stdc++.h>
#define NMAX 100100
using namespace std;
ifstream fin("lupu.in");
ofstream fout("lupu.out");
struct Poz{
    int d, a;
    bool operator<(Poz b)const{
        if(d!=b.d)
            return d<b.d;
        return a<b.a;
    }
} v[NMAX];
int n, d, x, l,i,j;
priority_queue<int>q;
long long ans;
int main()
{
    fin>>n>>x>>l;
    for( i=1;i<=n;++i)
    {
        fin>>d>>v[i].a;
        v[i].d=(x-d)/l;// lvl
    }
    sort(v+1, v+1+n);
//    for(int i=1;i<=n;++i)
//        cout<<v[i].d<<" "<<v[i].a<<'\n';

    j=n;
    for(int i=x/l;i>=0 && j<=n;--i)
    {
        while(j>=1 && v[j].d>=i)
        {
            q.push(v[j].a);
            --j;
        }

        if(!q.empty())
        {
            //cout<<q.top()<<" ";
            ans+=q.top();
            q.pop();
        }
    }


    fout<<ans;
    return 0;
}