Pagini recente » Cod sursa (job #3361917) | Cod sursa (job #3361912) | Cod sursa (job #3361910) | Cod sursa (job #3361913) | Cod sursa (job #3362155)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
long long dp[2][100005],x[100005],y[100005];
int main()
{
long long n,gmax,i,j,solmax=0;
fin>>n>>gmax;
for(i=1;i<=n;i++){
fin>>x[i]>>y[i];
}
for(i=1;i<=n;i++){
for(j=0;j<=gmax;j++){
dp[i%2][j]=max(dp[i%2][j],dp[(i-1)%2][j]);
if(j+x[i]<=gmax)
dp[i%2][j+x[i]]=max(dp[i%2][j+x[i]],dp[(i-1)%2][j]+y[i]);
}
}
for(j=0;j<=gmax;j++){
solmax=max(solmax,dp[n%2][j]);
}
fout<<solmax;
}