Pagini recente » Cod sursa (job #1020867) | Cod sursa (job #1282090) | Atasamentele paginii Clasament runda_3_sediul_turnurilor_minime | Cod sursa (job #2082056) | Cod sursa (job #1718531)
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
int i,g,w,celMaiMic = 10002;
float mat[3][1001]={0};
ifstream in("energii.in");
ofstream out("energii.out");
in >> g >> w;
for(i=0;i<g;i++){
in >> mat[0][i];
in >> mat[1][i];
mat[2][i] = mat[0][i]/mat[1][i];
}
/*
for(i=0;i<g;i++){
cout << mat[2][i] << endl;
}
cout << endl << "-------------" << endl;
*/
float v0,v1,v2,schimbari=1;
while(schimbari==1){
schimbari=0;
for(i=0;i<g;i++){
if(mat[2][i]<mat[2][i+1]){
//se schimba
v0=mat[0][i];
v1=mat[1][i];
v2=mat[2][i];
mat[0][i]=mat[0][i+1];
mat[1][i]=mat[1][i+1];
mat[2][i]=mat[2][i+1];
mat[0][i+1]=v0;
mat[1][i+1]=v1;
mat[2][i+1]=v2;
schimbari=1;
}
}
}
/*
for(i=0;i<g;i++){
cout << mat[2][i] << endl;
}
*/
int energiecurenta=0,pretcurent=0;
for(i=0;i<g;i++){
energiecurenta=energiecurenta+mat[0][i];
pretcurent=pretcurent+mat[1][i];
if(energiecurenta>=w){
//cout << endl << "PRET: " << pretcurent;
out << pretcurent;
in.close();
out.close();
return 0;
}
}
out << "pula";
in.close();
out.close();
return 0;
}