Pagini recente » Cod sursa (job #2680169) | Monitorul de evaluare | Cod sursa (job #1553847) | Cod sursa (job #302258) | Cod sursa (job #1093066)
#include <fstream>
#include <algorithm>
#include <queue>
using namespace std;
ifstream f("lupu.in");
ofstream g("lupu.out");
struct oaie{ int D, L; }a[100005];
struct cmp
{
bool operator()(const oaie &a, const oaie &b)const
{
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 (int d=0; i<=N && d<=Dmax; d+=dist)
{
while (i<=N && a[i].D<=d)
H.push(a[i].L), ++i;
if (H.size())
sol+=H.top(), H.pop();
}
g<<sol<<'\n';
return 0;
}