Cod sursa(job #60664)

Utilizator swift90Ionut Bogdanescu swift90 Data 15 mai 2007 22:27:20
Problema Lupul Urias si Rau Scor 16
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include<stdio.h>
#include<stdlib.h>
struct oi{
	int d,a;
};
int comp(const void*p,const void*q){
	oi *pp=(oi*)p,*qq=(oi*)q;
	oi px=*pp, py=*qq;
	if(px.d<py.d)
		return 1;
	if(px.d>py.d)
		return -1;
	return 0;
}
oi nr[11];
int main(){
	freopen("lupu.in","r",stdin);
	freopen("lupu.out","w",stdout);
	int n,x,l,i,j,max,pas;
	long long s;
	scanf("%d %d %d",&n,&x,&l);
	for(i=0;i<n;i++)
		scanf("%d %d",&nr[i].d,&nr[i].a);
	
	qsort(nr,n,sizeof(nr[0]),comp);
	
	for(i=0;nr[i].d>x;i++)
		;
	
	s=0;
	pas=1;
	while(i<n){
		j=0;
		max=0;
		while((nr[i+j].d>(x-pas*l))&&(i+j<=n)){
			if(nr[i+j].a>max)
				max=nr[i+j].a;
			j++;
		}
		i=i+j;
		s=s+max;
		pas++;
	}
	
	printf("%lld\n",s);
	
	return 0;
}