Pagini recente » Rating Bogdan Togorean (Bogdantogo) | Cod sursa (job #1499905) | Cod sursa (job #1520082) | Cod sursa (job #2032405) | Cod sursa (job #2522230)
#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;
}
cout<<rez;
}