Pagini recente » Borderou de evaluare (job #3361947) | Borderou de evaluare (job #3363611) | Borderou de evaluare (job #3363614) | Borderou de evaluare (job #3363842) | Cod sursa (job #3363545)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("lupu.in");
ofstream fout("lupu.out");
#define int long long
int n, pozMax, L, maxim = 0;
vector<int> tin[100003];
signed main()
{
fin >> n >> pozMax >> L;
for(int i=1; i<=n; i++) {
int poz, val; fin >> poz >> val;
int cntTure = (pozMax - poz) / L + 1; ///cate ture am oaia
tin[cntTure].push_back(val);
maxim = max(maxim, cntTure);
}
int sum = 0;
priority_queue<int> pq;
for(int i=maxim; i>=1; i--) {
for(int j : tin[i]) pq.push(j);
sum += pq.top(); pq.pop(); ///aleg oaia din tura i
}
fout << sum;
return 0;
}