Pagini recente » Cod sursa (job #1386547) | Cod sursa (job #103596) | Cod sursa (job #1361918) | Cod sursa (job #2722950) | Cod sursa (job #1579812)
#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 a.c*a.g>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();
}