Cod sursa(job #1650705)
| Utilizator | Data | 11 martie 2016 19:58:04 | |
|---|---|---|---|
| Problema | Problema rucsacului | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.44 kb |
#include <fstream>
using namespace std;
int W[50010],P[50010],D[10010],i,j,n,m,g,p;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int main()
{
fin>>n>>g;
for( i = 1 ; i <= n ; i++ )
fin>>W[ i ]>>P[ i ];
for( i = 1 ; i <= n ; i++ )
for( j = g - W[ i ] ; j >= 0 ; j-- )
if( D[ j ] + P[ i ] > D[ j + W[ i ] ] )
D[ j + W[ i ] ] = D[ j ] + P[ i ];
fout<<D[ g ];
return 0;
}
