Pagini recente » Cod sursa (job #1327420) | Cod sursa (job #1073794) | Cod sursa (job #2765434) | Cod sursa (job #3159317) | Cod sursa (job #2203402)
#include <bits/stdc++.h>
using namespace std;
ifstream in("rucsac.in");
ofstream out("rucsac.out");
int const DIM = 1e4+100;
int dp[DIM];
int main(){
int n, G, c, val, mmax, i, j;
in >> n >> G;
for (auto &x: dp) x=-1;
dp[0]=0;
for (i=1; i<=n; i++){
in >> c >> val;
for (j=G; j>=0; j--)
if (j+c<=G && dp[j]!=-1 && dp[j+c]<dp[j]+val) dp[j+c] = dp[j]+val;
}
mmax=-1;
for (i=0; i<=G; i++)
mmax=max(mmax, dp[i]);
out << mmax;
}