Pagini recente » Cod sursa (job #203736) | Cod sursa (job #3179852) | Cod sursa (job #1824880) | Cod sursa (job #1044533) | Cod sursa (job #1557992)
// Problema rucsacului
#include<fstream>
#include<algorithm>
using namespace std;
ifstream f("rucsac.in");
ofstream g("rucsac.out");
int n,a,b,gr,pr;
struct obj
{
int w,p,r;
};
obj v[5002];
bool test(obj a,obj b)
{
return a.p<b.p;
}
int main()
{
f>>n>>gr;
for(int i=1;i<=n;++i)
{
f>>v[i].w>>v[i].p;
v[i].r=v[i].p/v[i].w;
}
sort(v+1,v+n+1,test);
while(gr>0 && n>0)
{
if(v[n].w<=gr)
{
gr-=v[n].w;
pr+=v[n].p;
}
--n;
}
g<<pr<<'\n';
return 0;
}