Pagini recente » Cod sursa (job #2425689) | Cod sursa (job #1252932) | Istoria paginii runda/oji_2019/clasament | Borderou de evaluare (job #1685280) | Cod sursa (job #2321373)
#include <bits/stdc++.h>
using namespace std;
struct Oaie {
long long lana, poz;
};
vector<Oaie> oi;
priority_queue<long long> oiPrinse;
bool compare(Oaie a, Oaie b) {
return a.poz < b.poz;
}
int main()
{
long long N, X, L;
freopen("lupu.in", "r", stdin);
freopen("lupu.out", "w", stdout);
cin>>N>>X>>L;
oi.resize(N);
for (int i = 0; i < N; ++i) {
cin>>oi[i].poz>>oi[i].lana;
}
sort(oi.begin(), oi.end(), compare);
long long nrIncercari = X % L, i = 0, sm = 0;
while(nrIncercari <= X) {
for(; i < N && oi[i].poz <= nrIncercari; ++i)
oiPrinse.push(oi[i].lana);
if (!oiPrinse.empty()) {
sm += oiPrinse.top();
oiPrinse.pop();
}
nrIncercari += L;
}
cout<<sm;
}