Pagini recente » Cod sursa (job #2405224) | Cod sursa (job #2027339) | Cod sursa (job #2792441) | Cod sursa (job #1243982) | Cod sursa (job #519261)
Cod sursa(job #519261)
#include<iostream>
#include<fstream>
using namespace std;
ifstream in("energii.in");
ofstream out("energii.out");
float n,e,gen[1001][2];
void citire(){
in>>n>>e;
int i;
for(i=0;i<n;i++)in>>gen[i][0]>>gen[i][1];
}
void sortare(){
int sw=1,i,tmp[2];
float a,b;
while(sw){
sw=0;
for(i=1;i<n;i++){
a=gen[i-1][0]/gen[i-1][1];
b=gen[i][0]/gen[i][1];
if(a<b){
tmp[0]=gen[i-1][0];
tmp[1]=gen[i-1][1];
gen[i-1][0]=gen[i][0];
gen[i-1][1]=gen[i][1];
gen[i][0]=tmp[0];
gen[i][1]=tmp[1];
sw=1;
}
}
}
}
void afisare(){
int i;
for(i=0;i<n;i++)cout<<gen[i][0]<<" "<<gen[i][1]<<"\n";
}
void cost(){
int i=0,cost=0,energ=0;
while(i<n&&energ<=e){
energ+=gen[i][0];
cost+=gen[i][1];
i++;
if(energ>=e)break;
}
if(energ>=e)out<<cost;
else out<<"-1";
}
int main(){
citire();
sortare();
afisare();
cost();
return 0;
}