Pagini recente » Cod sursa (job #2489496) | Cod sursa (job #3263450) | Cod sursa (job #1026666) | Cod sursa (job #1393627) | Cod sursa (job #1048386)
#include <iostream>
#include <fstream>
#include <stdio.h>
using namespace std;
long int g,w,a[100],b[100];
void citeste()
{
int i;
ifstream f ("energii.in");
f>>g;
f>>w;
for(i=0;i<g;i++)
{
f>>a[i];
f>>b[i];
}
f.close();
}
void sorteaza()
{
int inv=1,aux,i;
do{
inv=0;
for(i=0;i<g-1;i++)
if((a[i]/b[i]<a[i+1]/b[i+1])&&(b[i]>=b[i+1]))
{
inv=1;
aux=a[i];
a[i]=a[i+1];
a[i+1]=aux;
aux=b[i];
b[i]=b[i+1];
b[i+1]=aux;
}
}while(inv);
}
int calculeaza()
{
int i,s=0,z=0;
for(i=0;i<g;i++)
{
s=s+a[i];
z=b[i]+z;
if(s>=w)
return z;
}
return -1;
}
int main()
{
citeste();
sorteaza();
ofstream h ("energii.out");
h<<calculeaza();
h.close();
return 0;
}