Cod sursa(job #1603408)
| Utilizator | Data | 17 februarie 2016 15:08:32 | |
|---|---|---|---|
| Problema | Ciclu Eulerian | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.5 kb |
#include <fstream>
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int n,g,D[10010],i,j,p[5010],w[5010];
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;
}
