Pagini recente » Cod sursa (job #1378619) | Cod sursa (job #1179857) | Cod sursa (job #2127340) | Cod sursa (job #1130660) | Cod sursa (job #602131)
Cod sursa(job #602131)
#include<cstdio>
#include<vector>
#include<queue>
#include<algorithm>
using namespace std;
long long n,x,l;
struct LUP
{
long long d;
long long a;
};
vector <LUP> z;
priority_queue <long long> h;
inline bool cmp (LUP v , LUP w)
{
return v.d<w.d;
}
void read ()
{
long long i;
LUP temp;
scanf("%lld%lld%lld",&n,&x,&l);
for (i=1;i<=n;i++)
{
scanf("%lld%lld",&temp.d,&temp.a);
z.push_back(temp);
}
sort(z.begin(),z.end(),cmp);
}
void rez()
{
long long dist;
long long s=0;
vector <LUP> :: iterator it;
LUP k;
for (dist=0,it=z.begin();it!=z.end() && dist<=x;dist+=l)
{
for (;it!=z.end();++it)
{
k=*it;
if (k.d>dist)
break;
else
h.push(k.a);
}
if (!h.empty())
{
s=s+h.top();
h.pop();
}
}
printf("%lld",s);
}
int main()
{
freopen("lupu.in","r",stdin);
freopen("lupu.out","w",stdout);
read();
rez();
return 0;
}