Pagini recente » Cod sursa (job #2696616) | Cod sursa (job #895242) | Cod sursa (job #206096) | Cod sursa (job #857860) | Cod sursa (job #2522231)
#include <fstream>
#include <iostream>
#include <algorithm>
using namespace std;
#define dmax 5001
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
struct Obiect{
int g, val;
}v[dmax];
bool cmp(Obiect a, Obiect b){
if (a.val<b.val)
return 1;
if (a.val==b.val){
if (a.g<b.g)
return 1;
else
return 0;
}
return 0;
}
int main(){
int n, g, i, rez=0;
fin>>n>>g;
for (i=1;i<=n;i++)
fin>>v[i].g>>v[i].val;
sort(v+1, v+n+1, cmp);
for (i=n;i>0;--i)
if (g-v[i].g>=0){
g-=v[i].g;
rez+=v[i].val;
}
fout<<rez;
}