Pagini recente » Cod sursa (job #390460) | Cod sursa (job #1757753) | Cod sursa (job #396129) | Cod sursa (job #373958) | Cod sursa (job #480857)
Cod sursa(job #480857)
#include <fstream>
using namespace std;
int minim[10005],e[1005],c[1005],i,n,w,j;
int main()
{
ifstream fi("energii.in");
ofstream fo("energii.out");
fi>>n>>w;
for(i=1;i<=n;i++) fi>>e[i]>>c[i];
for(i=1;i<=w;i++) minim[i]=int(2e9);
minim[0]=0;
for(i=1;i<=n;i++)
for(j=w-1;j>=0;j--)
if(minim[j]!=int(2e9))
{
if(j+e[i]>=w and minim[w]>minim[j]+c[i]) minim[w]=minim[j]+c[i]; else
if(j+e[i]<w and minim[j+e[i]]>minim[j]+c[i]) minim[j+e[i]]=minim[j]+c[i];
}
if(minim[w]!=int(2e9)) fo<<minim[w]<<"\n"; else fo<<"-1\n";
fo.close();
return 0;
}