Cod sursa(job #705379)

Utilizator SebiSebiPirtoaca George Sebastian SebiSebi Data 4 martie 2012 10:43:08
Problema Energii Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include<iostream>
#include<fstream>
#include<algorithm>
using namespace std;
struct raport {
	float val;
	int poz;
};
int e[1002],c[1002];
raport v[1001];
inline bool cmp(const raport a, const raport b)
{
	return a.val>b.val;
}
int main ()
{
	int n,i,s,cmin,emin;
	ifstream f("energii.in");
	ofstream g("energii.out");
	f>>n>>emin;
	for(i=1;i<=n;i++)
		f>>e[i]>>c[i];
	f.close();
	for(i=1;i<=n;i++) {
		v[i].val=float(e[i])/float(c[i]);
		v[i].poz=i;
	}
	sort(v+1,v+n+1,cmp);
	s=0;
	cmin=0;
	for(i=1;i<=n;i++) {
		cmin=cmin+c[v[i].poz];
		s=s+e[v[i].poz];
		if(s>=emin)
			break;
	}
	g<<cmin;
	g.close();
	return 0;
}