Cod sursa(job #3345347)

Utilizator LucaMirsolea14Luca Mirsolea LucaMirsolea14 Data 9 martie 2026 12:14:42
Problema Lupul Urias si Rau Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.78 kb
#include<bits/stdc++.h>
using namespace std;
ifstream fin("lupu.in");
ofstream fout("lupu.out");

struct oaie{
    int etapa, lana;
};

bool comp(oaie a, oaie b){

    return a.etapa > b.etapa;

}

oaie oi[100002];

int n, distmax, l;

long long ans=0;

priority_queue<int> pq;

int main(){

    int i, x, y, lg=1;

    fin >> n >> distmax >> l;

    for(i=1;i<=n;i++){

        fin >> x >> y;

        oi[i].etapa = (distmax - x) / l + 1;
        oi[i].lana = y;

    }

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

    for(i=oi[1].etapa;i>0;i--){
        while(oi[lg].etapa >= i){
            pq.push(oi[lg].lana);
            lg++;
        }
        if(!pq.empty()){
            ans += pq.top();
            pq.pop();
        }
    }

    fout << ans;

}