Pagini recente » Cod sursa (job #2500825) | Cod sursa (job #1315129) | Cod sursa (job #448344) | Cod sursa (job #2494919) | Cod sursa (job #1582499)
#include <fstream>
#include <algorithm>
using namespace std;
int ct,i,n,gm;
struct obiect
{
int c,g;
int o;
} a[5001];
int compar(obiect a,obiect b)
{
return (float)a.c/a.g>(float)b.c/b.g;
}
int main()
{ ifstream f("rucsac.in");
ofstream h("rucsac.out");
int ct=0,i=1,gm,c,n,g;
f>>n>>gm;
for(i=1;i<=n;i++)f>>a[i].g>>a[i].c;
i=1;
sort(a+1,a+n+1,compar);
while(gm>0 & i<=n)
{
if(a[i].g<=gm)
{
gm-=a[i].g;
ct+=a[i].c;
}
i++;
}
h<<ct;
h.close();
f.close();
}