Pagini recente » Cod sursa (job #2894097) | Cod sursa (job #51444) | Cod sursa (job #1154707) | Cod sursa (job #1419487) | Cod sursa (job #923617)
Cod sursa(job #923617)
#include<stdio.h>
#include<vector>
#include<algorithm>
#include<queue>
using namespace std;
pair <int,int> v[10002];
priority_queue <int> st;
int main()
{
freopen("lupu.in","r",stdin);
freopen("lupu.out","w",stdout);
int n,x,l,i,a,b,aux;
long long sol=0;
scanf("%d%d%d",&n,&x,&l);
for(i=0;i<n;i++)
{
scanf("%d%d",&a,&b);
v[i].first=(x-a)/l+1;
v[i].second=b;
}
sort(v,v+n);
reverse(v,v+n);
////////////
aux=v[0].first;
i=0;
while( aux )
{
while(i<n&&aux==v[i].first)
{
st.push(v[i].second);
i++;
}
if(st.size())
{
sol+=st.top();
st.pop();
}
aux--;
}
printf("%lld\n",sol);
return 0;
}