Cod sursa(job #2642571)

Utilizator OctavianVasileVasileOctavian OctavianVasile Data 16 august 2020 09:23:32
Problema Lupul Urias si Rau Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <bits/stdc++.h>
#define NMAX 200003
using namespace std;
ifstream fin ("lupu.in");
ofstream fout ("lupu.out");
int n, L, X, ans;
struct Oaie{
    unsigned int dist, lana;
    bool operator() (const Oaie &A, const Oaie &B){
        return A.lana < B.lana;
    }
}v [NMAX];
priority_queue <Oaie, vector <Oaie>, Oaie> pq;
bool cmp (Oaie A, Oaie B){
    return A.dist < B.dist;
}
int main (){
    fin >> n >> X >> L;
    for (int i = 1; i <= n; i ++)
        fin >> v [i].dist >> v [i].lana;
    sort (v + 1, v + n + 1, cmp);
    for (int I = 1, D = X % L; D <= X; D += L){
        for (; v [I].dist <= D && I <= n; I ++)
            pq.push (v [I]);
        if (!pq.empty ()){
            ans += pq.top ().lana;
            pq.pop ();
        }
    }
    fout << ans << '\n';
    return 0;
}