Cod sursa(job #3235222)

Utilizator AlexandraVarutuValexandra AlexandraVarutu Data 16 iunie 2024 12:22:38
Problema Lupul Urias si Rau Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.74 kb
///#include <iostream>
#include <fstream>
#include <queue>
#include <algorithm>
using namespace std;
ifstream cin("lupu.in");
ofstream cout("lupu.out");
int n,m,x,d,t,l;
long long s;
struct ve{
 int et,ln;
}v[100001];

priority_queue<int>q;

bool cmp( ve a, ve b){
    return a.et > b.et;
}
int main()
{
    cin>>n>>x>>d;
    for(int i=1;i<=n;i++){
        cin>>t>>l;
        if(t>x)
            continue;
        v[++m]={(x-t)/d,l};
    }
    sort(v+1,v+m+1,cmp);
    int p=1;
    for(int i=v[1].et;i>=0;i--){
        while(p<=m&&v[p].et==i){
            q.push(v[p].ln);
            p++;
        }
        if(!q.empty()){
            s+=q.top();
            q.pop();
        }
    }
    cout<<s;
    return 0;
}