Cod sursa(job #437243)

Utilizator bent_larsenSturzu Antonio-Gabriel bent_larsen Data 9 aprilie 2010 15:27:32
Problema Gutui Scor 20
Compilator cpp Status done
Runda teme_upb Marime 0.76 kb
#include<iostream>
#include<fstream>
#include<vector>
#include<algorithm>

using namespace std;

bool comp(pair<int,int> a,pair<int,int> b)
{
	if(a.second!=b.second)
		return a.second>b.second;
	return a.first>b.first;
}	


int main()
{
	int n,h,u,x,y,rap,gmax=0,count=0,i,max;
	vector< pair<int,int> >v;


	ifstream in("gutui.in");
	ofstream out("gutui.out");

	in>>n>>h>>u;
	for(i=0;i<n;i++)
	{
		in>>x>>y;
		v.push_back(make_pair(x,y));
	}

	sort(v.begin(),v.end(),comp);


	gmax+=v[0].second;
	max=(h-v[0].first)/u;
	for(i=1;i<n;i++)
	{
		if(count<max)
		{
			gmax+=v[i].second;
			count++;
			if(v[i].first!=v[i-1].first && (h-v[i].first)/u>max)
				max=(h-v[i].first)/u;
		}
	}
	out<<gmax<<endl;
	out.close();
	return 0;
}