Cod sursa(job #218451)

Utilizator nusmaibunkeleviprofesor cicalescu nusmaibunkelevi Data 2 noiembrie 2008 07:13:01
Problema Lupul Urias si Rau Scor 16
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 kb
#include<stdio.h>

#define NMAX 100000
struct bee{int d,a,g;};
bee v[NMAX+1];

int main(){
freopen("lupu.in","r",stdin);
freopen("lupu.out","w",stdout);
int n,x,l,gmax,rmax;
scanf("%d%d%d",&n,&x,&l);
gmax=x/l+1;
rmax=x%l;
if(rmax==0) rmax=l;
int i;
for(i=1;i<=n;++i){
	scanf("%d%d",&v[i].d,&v[i].a);
	if(v[i].d>x) {v[i].g=gmax+1;continue;}
	v[i].g=(x-v[i].d)/l+1;
	}
int max[NMAX+1]={0},gr;
long long s=0L;
for(i=1;i<=n;++i){
	gr=v[i].g;
	if(gr<=gmax&&max[gr]<v[i].a) max[gr]=v[i].a;
	}
for(i=0;i<=gmax;++i)
	s+=max[i];
printf("%lld",s);
return 0;
}