Cod sursa(job #755005)

Utilizator jumper007Raul Butuc jumper007 Data 4 iunie 2012 14:22:48
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.04 kb
#include <iostream>
#include <fstream>

#define MAX 1001

using namespace std;

int main(){
	
	int G; // numar de generatoare
	int W; // cantitatea de energie necesara repornirii centralei
	int EGi, CGi; // Cant. de en. per. generator; Costul necesar producerii en.
	int EG[MAX], CG[MAX]; // Stocarea EGi / ECi
	int OK; // Vf daca sirul e sortat
	int aux_1, aux_2, sum = 0;
	
	ifstream in("energii.in");
	ofstream out("energii.out");
	
	in >> G >> W;
	
	for (int i = 1; i <= G; i++){
		
		in >> EGi >> CGi;
		EG[i] = EGi;
		CG[i] = CGi;
	}
	
	do
	{
		OK = 1;
		
		for (int i = i; i <= G; i++)
			
			if (CG[i] < CG[i+1]){
				
				aux_1 = CG[i];
				aux_2 = EG[i];
				
				CG[i] = CG[i+1];
				EG[i] = EG[i+1];
				
				CG[i+1] = aux_1;
				EG[i+1] = aux_2;
				
				OK = 0;
			}
		
	}while(OK != 1);
	
	
	for (int i = 1; i <= G; i++){
		
		if (W < CG[i])
			out << CG[i];
		else 
		{
			sum = sum + CG[i];
			
			if (W < sum)
				out << sum;
		}
	}
	
	in.close();
	out.close();
	
	return 0;
}