Pagini recente » Istoria paginii runda/leisix/clasament | Monitorul de evaluare | Cod sursa (job #452519) | Cod sursa (job #1595554) | Cod sursa (job #3187639)
#include <bits/stdc++.h>
using namespace std;
int n, g, D[2][11000], G[6000], P[6000];
int u = 1;
int main(){
ifstream cin("rucsac.in");
ofstream cout("rucsac.out");
cin >> n >> g;
for(int i=1; i<=n; i++){
cin >> G[i] >> P[i];
}
for(int i=1; i<=n; i++){
for(int j=1; j<=g; j++){
if(i-1 >= 0 && j - G[i] >= 0){
D[u][j] = max(D[!u][j], (D[!u][j-G[i]] + P[i]));
}
}
u = !u;
}
cout << D[!u][g] << endl;
}