Cod sursa(job #1025878)

Utilizator dyanagGrigore Diana dyanag Data 10 noiembrie 2013 18:27:57
Problema Energii Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include<cstdio>
#include<algorithm>
using namespace std;
struct date{
	int a, b;
	float ab;
} v[1001];

int i, n, g, c;
bool cmp(date a, date b){
	if(a.ab<b.ab||a.ab==b.ab)
		return true;
	return false;
}
int main()
{
	freopen("energii.in", "r", stdin);
	freopen("energii.out", "w", stdout);
	scanf("%d%d", &n, &g);
	for(i=1; i<=n; ++i){
		scanf("%d%d", &v[i].a, &v[i].b);
		v[i].ab=v[i].b/float(v[i].a);
	}
	sort(v+1, v+n+1, cmp);
	i=1;
	while(g>0&&i!=n){
		g=g-v[i].a;
		c=c+v[i].b;
		++i;
	}
	if(g<=0)
		printf("%d", c);
	else
		printf("-1");
return 0;
}