Cod sursa(job #3252851)

Utilizator Ilinca_Radu_2022Radu Ilinca-Rucsandra Ilinca_Radu_2022 Data 31 octombrie 2024 12:44:15
Problema Lupul Urias si Rau Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <bits/stdc++.h>
#define MAX 100005
using namespace std;
ifstream fin("lupu.in");
ofstream fout("lupu.out");
int n, d, i, x, y, l, maxi, s;
queue<int>q[MAX];
priority_queue<pair<int, int>>pq;
/// lupul urias si rau infoarena :)
int main()
{

    fin>>n>>d>>l;
    for (i=1; i<=n; i++) {
        fin>>x>>y;
        if (d>=x) {q[(d-x)/l+1].push(y);
        maxi=max(maxi, (d-x)/l+1);}
    }
    for (i=maxi; i>=1; i--) {
        while (!q[i].empty()) {pq.push({q[i].front(), i}); q[i].pop();}
        if (!pq.empty()) {s+=pq.top().first; pq.pop();}
    }
    fout<<s;
    return 0;
}