Pagini recente » Cod sursa (job #2242146) | Cod sursa (job #64769) | Cod sursa (job #2444879) | Cod sursa (job #1243054) | Cod sursa (job #1808211)
#include <cstdio>
#include <algorithm>
using namespace std;
FILE*fin,*fout;
struct obiect{int g;int v;};
obiect r[1001];
bool cmp(obiect a,obiect b)
{
return( a.v *b.g>a.g * b.v);
}
int n,s,gr,i;
int 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,"%d",cost);
return 0;
}