Pagini recente » Cod sursa (job #2313895) | Cod sursa (job #130497) | Cod sursa (job #3145323) | Cod sursa (job #2133421) | Cod sursa (job #1862862)
#include <fstream>
#include <vector>
#include <queue>
using namespace std;
ifstream f("lupu.in");
ofstream g("lupu.out");
priority_queue < int > heap;
vector < int > v[100005];
int n, a, t ,d, l, tmax;
int main()
{
long long int sol = 0;
f >> n >> d >> l;
for(int i = 1; i <= n; ++i)
{
f >> t >> a;
if(d >= t)
{
t = (d - t) / l + 1;
v[t].push_back(a);
tmax = max(tmax, t);
}
}
for(int i = tmax; i >= 1; --i)
{
for(int j = 0; j < v[i].size(); ++j)
{
heap.push(v[i][j]);
}
if(heap.empty() == 0)
{sol += heap.top();
heap.pop();}
}
g << sol << '\n';
}