Cod sursa(job #138615)

Utilizator NightRavenBogdan Tanasoiu NightRaven Data 18 februarie 2008 22:18:35
Problema Energii Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <fstream>
#include <iostream>
using namespace std;
struct centrala{
	int e;
	int c;
	float ef;
};

int main() {
	centrala cen[1002];
	int i,j,G,W,cmin;
	float aux;
	int auxi;
	fstream f("energii.in",ios::in);
	f>>G>>W;
	for (i=1; i<=G; i++) { 
		f>>cen[i].e;
		f>>cen[i].c;
		cen[i].ef = (float)cen[i].e / (float)cen[i].c;
	}
	f.close();
	for (i=1; i<G; i++)
	  for (j=i+1; j<=G; j++)
		if ((cen[i].ef < cen[j].ef) || ((cen[i].ef==cen[j].ef && cen[i].c<cen[j].c))) {
			aux=cen[i].ef;
			cen[i].ef=cen[j].ef;
			cen[j].ef=aux;

			auxi=cen[i].c;
			cen[i].c=cen[j].c;
			cen[j].c=auxi;

			auxi=cen[i].e;
			cen[i].e=cen[j].e;
			cen[j].e=auxi;

		}
	i=0;
	cmin=0;
	while (W>0) {
		i++;
		W=W-cen[i].e;
		cmin=cmin+cen[i].c;
	}
	fstream f1("energii.out",ios::out);
	f1<<cmin;
	f1.close();
}