Pagini recente » Cod sursa (job #1250713) | Cod sursa (job #2854211) | Cod sursa (job #1413593) | Cod sursa (job #2434454) | Cod sursa (job #1853562)
#include <iostream>
#include <fstream>
#include <vector>
#include <queue>
using namespace std;
const int nmax=100005;
vector<int> v[nmax];
priority_queue<int> pq;
int n,x,l,d,a,i,j,pasi;
long long tot;
int main()
{
ifstream f("lupu.in");
ofstream g("lupu.out");
f>>n>>x>>l;
for(i=1;i<=n;i++)
{
f>>d>>a;
pasi=(x-d)/l+1;
if(x-d<0) continue;
if(n<pasi) pasi=n;
v[pasi].push_back(a);
}
for(i=n;i>=1;i--)
{
for(j=0;j<v[i].size();j++)
pq.push(v[i][j]);
if(!pq.empty())
{
tot+=1LL*pq.top();
pq.pop();
}
}
g<<tot;
return 0;
}