Pagini recente » Cod sursa (job #535257) | Cod sursa (job #1823388) | Cod sursa (job #2505832) | Cod sursa (job #2265365) | Cod sursa (job #2546343)
#include <bits/stdc++.h>
using namespace std;
ifstream fi("energii.in");
ofstream fo("energii.out");
int dp[2][10002], n, W, lc=1, lp=0, i, j;
struct
{
int e,c;
}V[5002];
int main()
{
fi >> n >> W;
for(i=1; i<=n; i++) fi >> V[i].e >> V[i].c;
for(i=1; i<=W; i++) dp[0][i]=2e9, dp[1][i]=2e9;
lc=1; lp=0;
for(i=1; i<=n; i++, lc^=1, lp^=1)
{
for(j=1; j<=W; j++)
{
if(V[i].e<=j) dp[lc][j]=min(dp[lp][j],dp[lp][j-V[i].e]+V[i].c);
else dp[lc][j]=dp[lp][j];
/*for(int a=0; a<=1; a++)
{
for(int b=1; b<=W; b++)
fo << setw(11) << dp[a][b];
fo << '\n';
}
fo << '\n';*/
}
}
fo<<dp[lp][W];
}