Pagini recente » Cod sursa (job #1346535) | Cod sursa (job #1279922) | Cod sursa (job #2717487) | Cod sursa (job #1535774) | Cod sursa (job #1197627)
#include<iostream>
#include<fstream>
#define maxn 20005
using namespace std;
ifstream f("energii.in");
ofstream g("energii.out");
int i,n,maxe,a[1005];
float b[1005],j;
main()
{
f>>n>>maxe;
a[n]=b[n]=0;
for(i=0;i<n;i++)
{
f>>a[i]>>b[i];
a[n]+=a[i];
b[n]+=b[i];
b[i]=(float)b[i]/a[i];
}
int ok=1;
while(ok)
{
ok=0;
for(i=0;i<n-1;i++)
if(b[i]>b[i+1])
{
ok=1;
j=b[i];
b[i]=b[i+1];
b[i+1]=j;
j=a[i];
a[i]=a[i+1];
a[i+1]=j;
}
}
for(i=n-1;i>=0;i--)
if(a[n]-a[i]>=maxe)
{
a[n]-=a[i];
b[n]-=b[i]*a[i];
}
if(a[n]>=maxe)g<<b[n];
else g<<-1;
g.close();
return 0;
}