Pagini recente » Cod sursa (job #95310) | Cod sursa (job #2679616) | Cod sursa (job #855915) | Cod sursa (job #936473) | Cod sursa (job #343088)
Cod sursa(job #343088)
#include <fstream>
using namespace std;
double gen[1001][3], n,w;
int rezolva(){
int g=0,p=0;
double max=0,aux=0,auxi=0,maxi=0;
for(int i=1;i<=n;i++){
if(gen[i][0]==-1){if(gen[i][1]==w) {auxi=gen[i][1]; if(maxi<auxi) maxi=auxi;p=i;}
aux=gen[i][1]/gen[i][2];
if(max<aux){ max=aux;g=i; }
};
}
if(p!=0&&gen[p][2]<gen[g][2])return p;
return g;
}
int main(){
int h=0,x=0;
double eng=0,cost=0;
ifstream in("energii.in");
in>>n;in>>w;
for(int i=1;i<=n;i++){gen[i][0]=-1;in>>gen[i][1];in>>gen[i][2];} in.close();
do{
h=rezolva();
eng+=gen[h][1];
cost+=gen[h][2];
gen[h][0]=9;
x++;
if(x>n){cost=-1;break;}
}while(eng<w);
ofstream out("energii.out");
out<<cost;
out.close();
return 0;
}