Cod sursa(job #464135)

Utilizator bora_marianBora marian bora_marian Data 18 iunie 2010 22:22:21
Problema Lupul Urias si Rau Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include<fstream>
#include<algorithm>
#include<queue>
using namespace std;
int n,x,l;
struct nod{
   int dist;
   int lana;};
nod v[1000002];
long long maxim,val,sol;
priority_queue<long long> h;
int  cmp(nod a,nod b);
int main()
{
	ifstream fin("lupu.in");
	ofstream fout("lupu.out");
	fin>>n>>x>>l;
	int i,j;
	for(i=1;i<=n;i++)
		fin>>v[i].dist>>v[i].lana;
	int pp=0;
	sort(v+1,v+n+1,cmp);
	int val;
	for(val=0,i=1;val<=x;val+=l)
	{	
		for(i=i;i<=n &&v[i].dist<=val;i++)
			h.push(v[i].lana);
		if(h.size())
		{
			sol+=h.top();
			h.pop();
		}
	}
	fout<<sol;
	return 0;
}
int  cmp(nod a,nod b)
{
	
	if(a.dist>b.dist)
		return 0;
	return 1;
}