Pagini recente » Arhiva de probleme | Cod sursa (job #284009) | Cod sursa (job #117220) | Cod sursa (job #691936) | Cod sursa (job #2183046)
#include <bits/stdc++.h>
#define nmax 5005
using namespace std;
ifstream in("rucsac.in");
ofstream out("rucsac.out");
int gr[nmax], pr[nmax], dp[2*nmax], G,n;
int main()
{
ios::sync_with_stdio(0);
in >> n >> G;
for(int i=1; i<=n; i++)
in >> gr[i] >> pr[i];
for(int i=1; i<=n; i++)
for(int g=G; g>0;g--)
if( gr[i] <= g)
dp[g] = max( dp[g], dp[g-gr[i]] + pr[i]);
out << dp[G];
return 0;
}