Pagini recente » Cod sursa (job #1239572) | Cod sursa (job #167351) | Cod sursa (job #2367758) | Cod sursa (job #520395) | Cod sursa (job #428652)
Cod sursa(job #428652)
#include<fstream.h>
int main ()
{
ifstream fcin("energii.in");
ofstream fcout("energii.out");
int n,m,i,s=0,s2=0,aux,j,j2=0,max=1,energie[1002]={0},cost[1002]={0};
float raport[1002]={0};
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(max!=0){max=0;
for(j=1;j<=i-1;j++)
if(energie[j]<=s-m&&cost[j]>max){max=cost[j];j2=j;}
s2=s2-cost[j2];s=s-energie[j2];energie[j2]=0;cost[j2]=0;}
fcout<<s2<<'\n';
return 0;
}