Pagini recente » Cod sursa (job #1624803) | Cod sursa (job #197142) | Cod sursa (job #1235671) | Cod sursa (job #1363996) | Cod sursa (job #2972428)
#include <fstream>
#include <bitset>
using namespace std;
ifstream in("rucsac.in");
ofstream out("rucsac.out");
const int N = 10001;
int n , gmax;
long long knapsack[N];
struct valori{
int G , P;
};
valori v[N + 1];
int main(){
in >> n >> gmax;
for(int i = 1 ; i <= n ; i++){
in >> v[i].G >> v[i].P;
}
for(int i = 1 ; i <= n ; i++){
for(int j = gmax ; j >= v[i].G ; j--){
int a = v[i].P + knapsack[j - v[i].G];
int b = knapsack[j];
knapsack[j] = max(a , b);
}
}
out << knapsack[gmax];
}