Cod sursa(job #1823881)
| Utilizator | Data | 6 decembrie 2016 22:44:27 | |
|---|---|---|---|
| Problema | Problema rucsacului | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.55 kb |
#include <iostream>
#include <fstream>
using namespace std;
long a [ 5000 * 10000];
short n , g;
int w [ 10000 ] , p [ 10000 ];
int rucsac ( ){
int i , j ;
for ( i = 1 ; i <= n ; i++)
for ( j = g ; j >= w [ i ] ; j--)
a [ j ] = max ( a [ j ] , a [ j - w[ i ]] + p [ i ]);
return a [ g ];}
int main()
{
ifstream cin("rucsac.in");
ofstream cout("rucsac.out");
cin >> n >> g;
for ( int i = 1 ; i <= n ; i++)
cin >> w [ i ] >> p [ i ];
cout << rucsac();}
