Pagini recente » Cod sursa (job #2825791) | Cod sursa (job #2583960) | Cod sursa (job #63197) | Cod sursa (job #2545620) | Cod sursa (job #1140205)
#include<fstream>
#include<algorithm>
using namespace std;
ifstream f("rucsac.in");
ofstream g("rucsac.out");
struct obiect{int gr,pr;}a[5001];
int n,greutate,profit,i;
int cmp(obiect a,obiect b)
{
if(a.pr>b.pr)return true;
else
if(a.pr==b.pr)
{if(a.gr>b.gr)return false;}
else return false;
}
int main()
{
f>>n>>greutate;
for(i=1;i<=n;i++)
f>>a[i].gr>>a[i].pr;
sort(a+1,a+n+1,cmp);
/*for(i=1;i<=n;i++)
g<<a[i].gr<<" ";
g<<'\n';
for(i=1;i<=n;i++)
g<<a[i].pr<<" ";
g<<'\n';*/
for(i=1;i<=n&&greutate>=0;i++)
{
if(greutate-a[i].gr>=0)
greutate-=a[i].gr,profit+=a[i].pr;
}
g<<profit;
return 0;
}