Cod sursa(job #3331990)

Utilizator mariusharabariMarius Harabari mariusharabari Data 2 ianuarie 2026 18:45:24
Problema Lupul Urias si Rau Scor 64
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.88 kb
#include <bits/stdc++.h>
using namespace std;

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

const int NMAX=1e5+1;
int n, x, l;
long long sum;
priority_queue <int> pq;

struct oaie{
    int d, b;
}oi[NMAX];

bool comp(oaie a, oaie b){
    return a.d<b.d;
}

int main(){
    fin>>n>>x>>l;
    for(int i=1;i<=n;i++)
        fin>>oi[i].d>>oi[i].b;

    sort(oi+1, oi+n+1, comp);

    int nivel=x/l+1;

    for(int i=1;i<=n;i++){
        int nivela=(x-oi[i].d)/l+1;
        if(nivela<=0){
            nivel=0;
            break;
        }

        if(nivela<nivel){
            for(;nivel>nivela&&!pq.empty();nivel--){
                sum+=pq.top();
                pq.pop();
            }
        }

        pq.push(oi[i].b);
    }
    while(nivel){
        sum+=pq.top();
        pq.pop();
        nivel--;
    }
    fout<<sum;

    return 0;
}