Cod sursa(job #801905)

Utilizator SebiSebiPirtoaca George Sebastian SebiSebi Data 25 octombrie 2012 13:41:33
Problema Lupul Urias si Rau Scor 16
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include<iostream>
#include<fstream>
#include<algorithm>
#include<queue>
using namespace std;

#define NMAX 100001
#define pb push_back

struct oaie {
	int d,l;
};

priority_queue <int> v;
oaie a[NMAX];

inline bool cmp(const oaie &a, const oaie &b)
{
	return a.d<b.d;
}

int main ()
{
	int n,i,x,l,c,maxim;
	long long sol;
	ifstream f("lupu.in");
	ofstream g("lupu.out");
	f>>n>>x>>l;
	for(i=1;i<=n;i++)
		f>>a[i].d>>a[i].l;
	f.close();
	sort(a+1,a+n+1,cmp);
	sol=0;
	i=n;
	while(x>=0) {
		x=x-l;
		maxim=-(1<<30);
	    while(a[i].d>x && i>=1) {
			if(a[i].l>maxim)
				maxim=a[i].l;
			i--;
		}
		sol=0LL+sol+maxim;
    }
    g<<sol;
	g.close();
	return 0;
}