Pagini recente » Cod sursa (job #2886500) | Cod sursa (job #2899499) | Cod sursa (job #2806263) | Cod sursa (job #2492449) | Cod sursa (job #2799413)
#include <bits/stdc++.h>
//#pragma GCC optimize("Ofast")
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int dp[2][10001];
int main()
{
ios_base::sync_with_stdio(false);
int n, w, index, i, curr_w, p, j, ans;
fin>>n>>w;
index=0;
for (i=1;i<=n;++i, index=1-index)
{
fin>>curr_w>>p;
for (j=0;j<=w;++j)///iterez prin greutatile din dp[i-1]
{
if (dp[index][j]>dp[1-index][j])
dp[1-index][j]=dp[index][j];
if (j+curr_w<=w && dp[index][j]+p>dp[1-index][j+curr_w])
dp[1-index][j+curr_w]=dp[index][j]+p;
}
}
fin.close();
ans=dp[index][w];
fout << ans;
fout.close();
return 0;
}