Pagini recente » Cod sursa (job #2563768) | Cod sursa (job #736034) | Cod sursa (job #1602094) | Cod sursa (job #2155373) | Cod sursa (job #1808215)
#include <cstdio>
#include <algorithm>
using namespace std;
FILE*fin,*fout;
struct obiect{int g;int v;};
obiect r[5001];
bool cmp(obiect a,obiect b)
{
return( a.v *b.g>a.g * b.v);
}
int n,s,gr,i;
long long cost;
int main()
{
fin=fopen("rucsac.in","r");
fout=fopen("rucsac.out","w");
fscanf(fin,"%d%d",&n,&gr);
for(i=1;i<=n;i++)
{
fscanf(fin,"%d%d",&r[i].g,&r[i].v);
}
sort(r+1,r+n+1,cmp);
for(i=1;i<=n && gr>0;i++)
{
if(r[i].g<=gr)
{
gr-=r[i].g;
cost+=r[i].v;
}
}
fprintf(fout,"%lld",cost);
return 0;
}