Pagini recente » Cod sursa (job #3199031) | Cod sursa (job #1891005) | Cod sursa (job #853772) | Cod sursa (job #2428875) | Cod sursa (job #2721341)
/**
*/
#include <fstream>
#include <vector>
#include <queue>
using namespace std;
ifstream fin("lupu.in");
ofstream fout("lupu.out");
const int nmax=100010;
vector <int> v[nmax];
long long int sum;
priority_queue <int> q;
int main()
{
int n,x,l,d,c;
fin>>n>>x>>l;
for(int i=1;i<=n;i++)
{
fin>>d>>c;
if(d<=x)
v[(x-d)/l+1].push_back(c);
}
for(int i=x;i>=1;i--)
{
for(int j=0;j<v[i].size();j++)
{
q.push(v[i][j]);
}
if(!q.empty())
{
sum=sum+q.top();
q.pop();
}
}
fout<<sum;
return 0;
}