Cod sursa(job #437062)

Utilizator bent_larsenSturzu Antonio-Gabriel bent_larsen Data 9 aprilie 2010 11:50:45
Problema Gutui Scor 10
Compilator cpp Status done
Runda teme_upb Marime 0.73 kb
#include<iostream>
#include<fstream>
#include<vector>
#include<algorithm>

using namespace std;

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


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


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

	in>>n>>h>>u;
	for(int i=0;i<n;i++)
	{
		in>>x>>y;
		if(x>h)
			v.push_back(make_pair(-1,y));
		else
		{
			rap=(h-x)/u;
			v.push_back(make_pair(rap,y));
		}
	}
	in.close();
	sort(v.begin(),v.end(),comp);

	for(int i=0;i<n;i++)
	{
		if(v[i].first>=count)
		{
			gmax+=v[i].second;
			count++;
		}
	}
	out<<gmax<<endl;
	out.close();
	return 0;
}