Pagini recente » Cod sursa (job #2226820) | Cod sursa (job #1498931) | Cod sursa (job #1538096) | Cod sursa (job #2503414) | Cod sursa (job #807864)
Cod sursa(job #807864)
#include<cstdio>
#include<algorithm>
#include <utility>
#define INF 2147483647
#define dist first
#define profit second
using namespace std;
pair <int,int> oaie[100000];
int n,x,l,s;
int main()
{
freopen("lupu.in","r",stdin);
freopen("lupu.out","w",stdout);
scanf("%d %d %d",&n,&x,&l);
int i,k,s=0;
for(i=1;i<=n;i++)
{
int a,b;
scanf("%d %d",&a,&b);
oaie[i].dist=(x-a)/l+1;
oaie[i].profit=b;
}
sort(oaie+1,oaie+n+1);
reverse(oaie+1,oaie+n+1);
k=oaie[1].dist;
i=1;
while(k)
{
int ind=0,maxim=0;
for(i=1;i<=n && k<=oaie[i].dist;i++)
{
if(maxim<oaie[i].profit)
{
maxim=oaie[i].profit;
ind=i;
}
}
oaie[ind].profit=0;
k--;
s+=maxim;
}
printf("%d\n",s);
return 0;
}