Cod sursa(job #3345335)

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

struct oaie{
    int etapa, lana;
};

int dp[100002];
oaie oi[100002];

int n, distmax, l;

long long ans=0;

int main(){

    int i, x, y;

    fin >> n >> distmax >> l;

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

        fin >> x >> y;

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

    }
  priority_queue<int> pq;
    for(i=1;i<=n;i++){

        if(oi[i].etapa > n)
            pq.push(oi[i].lana);
        else
            dp[oi[i].etapa] = max(dp[oi[i].etapa], oi[i].lana);

    }



    for(i=n;i>0;i--){
        pq.push(dp[i]);
        ans += pq.top();
        pq.pop();
    }

    fout << ans;

    //for(i=1;i<=n;i++)
    //    fout << oi[i].etapa << endl;

}