Pagini recente » Cod sursa (job #1166725) | Cod sursa (job #1653026) | Cod sursa (job #2324324) | Cod sursa (job #3120882) | Cod sursa (job #2321367)
#include <bits/stdc++.h>
using namespace std;
struct Oaie {
public:
int lana, poz;
};
vector<Oaie> oi;
priority_queue<int> oiPrinse;
int compare(Oaie a, Oaie b) {
return a.poz < b.poz;
}
int main()
{
int 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);
int 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;
}