Pagini recente » Cod sursa (job #2730520) | Cod sursa (job #1118765) | Cod sursa (job #676708) | Cod sursa (job #1638341) | Cod sursa (job #1862860)
#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;
if(t > n) t= n;
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]);
}
sol += heap.top();
heap.pop();
}
g << sol << '\n';
}