Cod sursa(job #3140282)

Utilizator UengineDavid Enachescu Uengine Data 5 iulie 2023 11:37:00
Problema Lupul Urias si Rau Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <fstream>
#include <vector>
#include <queue>
#include <algorithm>

using namespace std;

ifstream cin("lupu.in");
ofstream cout("lupu.out");

struct oaie{
    int dist;
    int blana;
    bool operator <(const oaie &other)const{
        return dist > other.dist;
    }
};

vector <oaie> oi;
priority_queue <int> pq;

int main() {
    int n, x, l;
    long long sum = 0;
    cin >> n >> x >> l;
    ///citire
    for(int i = 0; i < n; i++){
        oaie coaie;
        cin >> coaie.dist >> coaie.blana;
        oi.push_back(coaie);
    }
    int nivel = oi[0].dist / l;
    for(int i = 0; i < n; i++) {
        if (oi[i].dist / l > nivel) {
            nivel = oi[i].dist / l;
            sum += pq.top();
            pq.pop();
        }
        pq.push(oi[i].blana);
    }
    cout << sum * 2;
    return 0;
}