Pagini recente » Cod sursa (job #534472) | Cod sursa (job #1362145) | Cod sursa (job #2003549) | Cod sursa (job #121618) | Cod sursa (job #418531)
Cod sursa(job #418531)
#include<fstream.h>
#define u (1<<30)
int e[1100],c[1100],dp[6000];
int main()
{
int n,w,i,emax=0,j;
ifstream f("energii.in");
ofstream g("energii.out");
f>>n>>w;
for(i=1;i<=n;i++)
f>>e[i]>>c[i];
for(i=1;i<=w;i++)
dp[i]=(1<<30);
for(i=1;i<=n;i++)
for(j=w;j>=0;j--)
if(dp[j]!=u)
if(j+e[i]<w)
{
if(dp[j+e[i]]>dp[j]+c[i])
dp[j+e[i]]=dp[j]+c[i];
}
else
if(j+e[i]>=w)
if(dp[w]>dp[j]+c[i])
dp[w]=dp[j]+c[i];
if(dp[w]==u)
g<<"-1";
else
g<<dp[w];
return 0;
}