Cod sursa(job #33285)

Utilizator andrei.12Andrei Parvu andrei.12 Data 19 martie 2007 09:28:38
Problema Energii Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
using namespace std;
#include<stdio.h>
#include<stdlib.h>
struct chestii{
	float  a, b, c;
};
chestii v[100];
int main(){
	FILE*f=fopen("energii.in","r");
	FILE*g=fopen("energii.out","w");
	float aux;
	int nr, w, i, inv, q, r, p, x;
	fscanf(f,"%d%d",&nr,&w);
	for (i=0;i<nr;i++){
		fscanf(f,"%f%f",&v[i].a,&v[i].b);
		v[i].c=v[i].a/v[i].b;
	}
	do{
		inv=0;
		for (i=nr-1;i>0;i--)
			if (v[i].c>v[i-1].c){
				aux=v[i].c;
				v[i].c=v[i-1].c;
				v[i-1].c=aux;
				aux=v[i].a;
				v[i].a=v[i-1].a;
				v[i-1].a=aux;
				aux=v[i].b;
				v[i].b=v[i-1].b;
				v[i-1].b=aux;
				inv=1;
			}
	}
	while (inv==1);
	x=0;
	i=0;
	p=0;
	while (x<w){
		q=v[i].a;
		r=v[i].b;
		x+=q;
		p+=r;
		i++;
	}
	fprintf(g,"%ld\n",p);
	fclose(f);
	fclose(g);
	return 0;
}