Pagini recente » Cod sursa (job #1042774) | Cod sursa (job #2435722) | Cod sursa (job #1784687) | Cod sursa (job #839520) | Cod sursa (job #1579774)
#include <stdio.h>
#include <algorithm>
using namespace std;
FILE*f=fopen("rucsac.in","r");
FILE*g=fopen("rucsac.out","w");
struct r
{
double g,c;
}v[5001];
int comp(r a,r b)
{
return a.c/a.g>b.c/b.g;
}
int main()
{
int n,gmax,p=0,i;
fscanf(f,"%d%d",&n,&gmax);
for (i=1;i<=n;i++)
{
fscanf(f,"%lf%lf",&v[i].g,&v[i].c);
}
sort(v+1,v+n+1,comp);
for (i=1;i<=n&&gmax;i++)
{
if (gmax>=v[i].g) {gmax-=v[i].g;p+=v[i].c;}
}
fprintf(g,"%d",p);
return 0;
}