Pagini recente » Cod sursa (job #968154) | Cod sursa (job #999062) | Cod sursa (job #1092913) | Cod sursa (job #1820035) | Cod sursa (job #1083362)
#include <fstream>
#include <algorithm>
#include <queue>
using namespace std;
ifstream f("lupu.in");
ofstream g("lupu.out");
struct oaie{ int D, L; }a[100005];
bool cmp(const oaie &A, const oaie &B)
{
return (A.D<B.D);
}
int N, Dmax, dist, i=1;
priority_queue < int > H;
long long sol;
int main()
{
f>>N>>Dmax>>dist;
for (int ii=1; ii<=N; ++ii)
f>>a[ii].D>>a[ii].L;
sort(a+1, a+N+1, cmp);
for (long long d=0; i<=N && d<=Dmax; d+=dist)
{
for (; i<=N && a[i].D<=d; ++i)
H.push(a[i].L);
if (H.size())
sol+=H.top(); H.pop();
}
g<<sol<<'\n';
return 0;
}