Pagini recente » Cod sursa (job #2396218) | Cod sursa (job #1121211) | Cod sursa (job #1418761) | Cod sursa (job #2465797) | Cod sursa (job #3140282)
#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;
}