Cod sursa(job #1455933)
| Utilizator | Data | 29 iunie 2015 14:49:18 | |
|---|---|---|---|
| Problema | Problema rucsacului | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.56 kb |
#include <fstream>
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int i,j,n,Wmax,W[5010],P[5010];
int D[10010],ans;
int main()
{
fin>>n>>Wmax;
for( i = 1 ; i <= n ; i++ )
{
fin>>W[ i ]>>P[ i ];
}
for( i = 1 ; i <= n ; i++ )
{
for( j = Wmax - W[ i ] ; j >= 0 ; j-- )
{
if( D[ j + W[ i ] ] < D[ j ] + P[ i ] )
{
D[ j + W[ i ] ] = D[ j ] + P[ i ];
}
}
}
fout<<D[ Wmax ];
return 0;
}
