Pagini recente » Cod sursa (job #480058) | Cod sursa (job #1703239) | Cod sursa (job #1586451) | Cod sursa (job #1137280) | Cod sursa (job #3280792)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int n, gmax, v[2][10005], dp[2][10005];
int main(){
fin>>n>>gmax;
for(int i=1;i<=n;i++){
fin>>v[0][i]>>v[1][i];
}
for(int i=1;i<=n;i++){
int g=v[0][i];
int val=v[1][i];
for(int j=1;j<=gmax;j++){
if(j<g)
dp[i%2][j]=dp[(i-1)%2][j];
else
dp[i%2][j]=max(dp[(i-1)%2][j], dp[(i-1)%2][j-g]+val);
//cout<<dp[i%2][j]<<' ';
}
//cout<<endl;
}
fout<<dp[n%2][gmax]<<endl;
return 0;
}