Pagini recente » Cod sursa (job #1284473) | Cod sursa (job #1873007) | Cod sursa (job #1692724) | Cod sursa (job #952362) | Cod sursa (job #1320269)
#include <iostream>
#include <fstream>
#include <vector>
#include <queue>
#include <algorithm>
using namespace std;
int n, x, l;
vector< pair<int, int> > v;
priority_queue<int> pq;
int main()
{
ifstream f("lupu.in");
ofstream g("lupu.out");
f>>n>>x>>l;
int d, a, i, pas;
long long answer=0;
for (i=1;i<=n;i++)
{
f>>d>>a;
v.push_back(make_pair((x-d)/l+1, a));
}
sort(v.begin(), v.end());
pas=v[n-1].first;
i=n-1;
while (pas)
{
while (v[i].first==pas && i>=0)
{
pq.push(v[i].second);
i--;
}
answer+=pq.top();
pq.pop();
pas--;
}
g<<answer<<'\n';
}