Cod sursa(job #3168355)

Utilizator TheAndreiEnache Andrei Alexandru TheAndrei Data 12 noiembrie 2023 11:08:32
Problema Lupul Urias si Rau Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <iostream>
#include <fstream>
#include <vector>
#include <queue>

#define ull unsigned long long

using namespace std;

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

ull n,x,l,a,b,maxim,s;
priority_queue <ull> pq;
vector <vector <ull>> v;

int main()
{
    fin>>n>>x>>l;

    for(int i=0;i<n;i++){
        fin>>a>>b;
        if(a<=x){
            a=(x-a)/l;
            maxim=std::max(maxim, a);
            v.resize(maxim+1);
            v[a].push_back(b);
        }
    }
    for(int i=maxim;i>=0;i--){
        for(int j=0;j<v[i].size();j++){
            pq.push(v[i][j]);
        }

            if(pq.size()){
                s=s+pq.top();
                pq.pop();
            }
    }

    fout<<s;
    return 0;
}