Pagini recente » Cod sursa (job #3031056) | Cod sursa (job #3183820) | Cod sursa (job #2981915) | Cod sursa (job #1811869) | Cod sursa (job #2321375)
#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;
ifstream f("lupu.in");
ofstream g("lupu.out");
f>>N>>X>>L;
oi.resize(N);
for (int i = 0; i < N; ++i) {
f>>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;
}
g<<sm;
f.close();
g.close();
}