Pagini recente » Cod sursa (job #2879461) | Cod sursa (job #647067) | Cod sursa (job #1742774) | Cod sursa (job #2314475) | Cod sursa (job #556706)
Cod sursa(job #556706)
#include<fstream.h>
struct energie
{
int e,c;
};
energie a[1001];
int n,w,i,j,k,b[1001][5001];
int main()
{
ifstream f("energii.in");
ofstream g("energii.out");
f>>n>>w;
for(i=1;i<=n;i++)
f>>a[i].e>>a[i].c;
b[0][0]=0;
for(i=1;i<=w;i++)
b[0][i]=100000;
for(i=1;i<=n;i++)
for(j=1;j<=w;j++)
{
b[i][j]=b[i-1][j];
if(a[i].e<=j&&b[i][j]>b[i-1][j-a[i].e]+a[i].c)
b[i][j]=b[i-1][j-a[i].e]+a[i].c;
else
if(b[i][j]>a[i].c&&a[i].e>j)
b[i][j]=a[i].c;
}
if(b[n][w]==100000)
g<<-1;
else
g<<b[n][w];
return 0;
}