Pagini recente » Cod sursa (job #3038416) | Cod sursa (job #44030) | Cod sursa (job #3268158) | Cod sursa (job #1525304) | Cod sursa (job #719992)
Cod sursa(job #719992)
#include <fstream>
#include <iostream>
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
inline int Maxim(int a, int b){ return a>b?a:b; }
int a[5001][10001];
int main()
{
int n,gmax;
int g[5005],p[5005];
if(! fin )
return -1;
fin >> n >> gmax;
for(int i=1 ; i<=n ; i++)
fin>>g[i]>>p[i];
for(int i=1;i<=n;i++){
a[i][0] = 0;
for(int j=1 ; j<=gmax ;++j){
if(j-g[i]<0)
a[i][j] = a[i-1][j];
else
a[i][j] = Maxim(a[i-1][j], a[i-1][j-g[i]] + p[i]);
}
}
fout << a[n][gmax] << "\n";
return 0;
}