Pagini recente » Cod sursa (job #569376) | Cod sursa (job #1733279) | Cod sursa (job #92625) | Cod sursa (job #658200) | Cod sursa (job #1051172)
#include <iostream>
#include <fstream>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
unsigned long g,w,a[10000000],b[10000000];
void citeste()
{
unsigned i;
ifstream f ("energii.in");
f>>g;
f>>w;
for(i=0;i<g;i++)
{
f>>a[i];
f>>b[i];
}
f.close();
}
void calculeaza2()
{
int i,mic,j,aux;
for(i=0;i<g;i++)
{
mic=i;
for(j=i+1;j<g;j++)
if((b[j]<b[mic])&&(a[j]>=a[mic])||labs(a[i]-b[i])<labs(a[i+1]-b[i+1]))
mic=j;
aux=a[i];
a[i]=a[mic];
a[mic]=aux;
aux=b[i];
b[i]=b[mic];
b[mic]=aux;
}
}
int calculeaza()
{
unsigned i;
unsigned long 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();
ofstream h ("energii.out");
calculeaza2();
h<<calculeaza();
h.close();
return 0;
}