Pagini recente » Cod sursa (job #2008243) | Cod sursa (job #2194420) | Cod sursa (job #52471) | Cod sursa (job #1516638) | Cod sursa (job #2738375)
#include <bits/stdc++.h>
using namespace std;
const string FILENAME = "rucsac";
ifstream fin(FILENAME + ".in");
ofstream fout(FILENAME + ".out");
#define pb push_back
#define mp make_pair
using ll = long long;
const int nmax = 5005;
int n, gmx;
int g[nmax], p[nmax];
int dp[nmax][10005];
int main()
{
fin >> n >> gmx;
for(int i = 1; i <= n; i++)
fin >> g[i] >> p[i];
for(int i = 1; i <= n; i++)
for(int j = 1; j <= gmx; j++)
if(g[i] > j)
dp[i][j] = dp[i - 1][j];
else dp[i][j] = max(dp[i - 1][j], dp[i - 1][j - g[i]] + p[i]);
fout << dp[n][gmx] << "\n";
fin.close();
fout.close();
return 0;
}