Cod sursa(job #1689100)
Utilizator | Data | 13 aprilie 2016 22:46:21 | |
---|---|---|---|
Problema | Problema rucsacului | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.42 kb |
#include <fstream>
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int n,G;
int v[5002],g[5002],dp[10002];
int main()
{
fin >> n >> G ;
for(int i = 1 ; i <= n ; ++i )
fin >> g[i] >> v[i];
for( int i = 1 ; i <= n ; ++i )
for( int j = G ; j >= g[i] ; --j )
dp[j] = max( dp[j] , dp[ j - g[i] ] + v[i] );
fout << dp[G] ;
return 0;
}