Pagini recente » Cod sursa (job #607097) | Cod sursa (job #2294766) | Cod sursa (job #2674567) | Cod sursa (job #2238568) | Cod sursa (job #1788751)
#include<fstream>
#define Gmax 10010
#define Nmax 5010
using namespace std;
int A[Gmax],p,u,i,j,G[Nmax],P[Nmax],n,g,sol;
ifstream f("rucsac.in");
ofstream fout("rucsac.out");
int main()
{
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);
fout << sol;
return 0 ;
}