Cod sursa(job #22146)

Utilizator blasterzMircea Dima blasterz Data 25 februarie 2007 20:45:03
Problema Lupul Urias si Rau Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <cstdio>
#define maxn 100001
#include <algorithm>
using namespace std;
struct nod { int c, d;};

	int N, X, L, i,j;
	nod x[maxn];


bool operator<(const nod &a, const nod &b)
{
	if(a.c>b.c) return 1;
	if(a.c==b.c) if(a.d<b.d) return 1;
	return 0;
}

int main()
{
	freopen("lupu.in", "r", stdin);
	
	scanf("%d %d %d\n", &N, &X, &L);
	for(i=1;i<=N;i++) scanf("%d %d\n", &x[i].d, &x[i].c);
	
	sort(x+1, x+N+1);
	int nr=0;
	long long sum=0;
	
//printf("%d\n", L);
	for(i=1;i<=N;i++)
	{
	
		if(x[i].d+nr*L>X) continue;
		
		sum+=(long long) x[i].c;
		nr++;
	}
	
	freopen("lupu.out", "w", stdout);
	printf("%lld\n", sum);
	return 0;
}