Pagini recente » Cod sursa (job #354684) | Cod sursa (job #363666) | Cod sursa (job #361654) | Cod sursa (job #375407) | Cod sursa (job #361655)
Cod sursa(job #361655)
#include<iostream.h>
struct data{
int p;
int g;
int rata;
int ind;
};
data v[100],aux,sol[100];
int main()
{int n,G,i,terminat=0,k,profit=0,acum=0;
cin>>n;
cin>>G;
for(i=1;i<=n;i++)
{cin>>v[i].p>>v[i].g;
v[i].rata=v[i].p/v[i].g;
v[i].ind=i;}
terminat=0;
while(!terminat)
{ terminat=1;
for(i=1;i<=n-1;i++)
if(v[i].rata<v[i+1].rata)
{aux=v[i];
v[i]=v[i+1];
v[i+1]=aux;
terminat=0;
}
}
while(acum+v[k].g<=G)
{k++;
sol[k]=v[k];
profit+=v[k].p;
}
if(acum<G)
{k++;
sol[k]=v[k];
profit+=(G-acum)*v[i].rata;
}
cout<<profit<<'\n';
for(i=1;i<=k;i++)
cout<<sol[i].ind<<" ";
return 0;
}