Pagini recente » Cod sursa (job #54093) | Cod sursa (job #1968260) | Cod sursa (job #522349) | Cod sursa (job #520349) | Cod sursa (job #994371)
Cod sursa(job #994371)
#include<iostream>
#include<fstream>
using namespace std;
inline int max(int a, int b)
{
return (a > b ? a : b);
}
int main()
{
ifstream in("rucsac.in");
ofstream out("rucsac.out");
int N,G;
int P[10001];
int W[10001];
int D[2][10001];
int i,j;
in>>N>>G;
for (i = 1 ; i <= N ; i++)
{
in>>W[i];
in>>P[i];
}
in.close();
for (i = 1; i <= N; i++)
{
for ( j = 1 ; j <= G;j++)
if( j >= W[i])
D[1][j] = max (D[0][j], D[0][j - W[i]] + P[i]);
else
D[1][j] = D[0][j];
for (j= 0 ; j <= G ; j++)
{
D[0][j] = D[1][j];
}
}
out<<D[1][G];
out.close();
return 0;
}