Pagini recente » Cod sursa (job #402338) | Cod sursa (job #1698574) | Cod sursa (job #2476273) | Cod sursa (job #1937113) | Cod sursa (job #1778776)
#include<fstream>
#include<stdio.h>
#define Gmax 10010
#define Nmax 5010
using namespace std;
int A[Gmax],p,u,i,j,G[Nmax],P[Nmax],n,g,sol;
int main()
{
freopen("rucsac.out","w",stdout);
ifstream f("rucsac.in");
f>>n>>g;
for( i = 1 ; i <= n ; i++ )
f>>G[i]>>P[i];
for( i = 1 ; i <= n ; i++ )
for( j = g ; j >= 0 ; j-- )
if( j + G[i] <= g && A[j+G[i]] < A[j] + P[i] )
A[j+G[i]] = A[j] + P[i] ;
sol = 0 ;
for( i = 1 ; i <= g ; i++ )
if( A[i] > sol ) sol = A[i] ;
printf("%d",sol);
return 0 ;
}