Pagini recente » Cod sursa (job #1185909) | Cod sursa (job #925281) | Cod sursa (job #1728226) | Cod sursa (job #124635) | Cod sursa (job #428630)
Cod sursa(job #428630)
#include<fstream.h>
int main ()
{
ifstream fcin("energii.in");
ofstream fcout("energii.out");
int n,m,i,s=0,s2=0,aux,j,j2,max=1,energie[1002],cost[1002];
float raport[1002];
fcin>>n>>m;
for(i=1;i<=n;i++)
{fcin>>energie[i]>>cost[i];
raport[i]=(float)energie[i]/(float)cost[i];}
for(i=2;i<=n;i++)
{
if(raport[i]>raport[i-1]&&i>1){aux=raport[i];raport[i]=raport[i-1];raport[i-1]=aux;
aux=energie[i];energie[i]=energie[i-1];energie[i-1]=aux;
aux=cost[i];cost[i]=cost[i-1];cost[i-1]=aux;i=i-2;}
}
i=1;
while(s<m)
{s=s+energie[i];s2=s2+cost[i];i++;if(i==n+2){s2=-1;break;}}
while(s>m&&max!=0){max=0;
for(j=1;j<=i-1;j++)
if(energie[j]<=s-m&&energie[j]>max){max=energie[j];j2=j;}
s2=s2-cost[j2];energie[j2]=0;cost[j2]=0;}
fcout<<s2<<'\n';
return 0;
}