Pagini recente » Cod sursa (job #728405) | Cod sursa (job #3260999) | Cod sursa (job #96410) | Cod sursa (job #531923) | Cod sursa (job #2636454)
#include <iostream>
#include <fstream>
using namespace std;
int g,w,i,e[1005],c[1005],cmin[100005],j,nj;
int main()
{
ifstream cin("energii.in");
ofstream cout("energii.out");
cin>>g>>w;
for(i=1;i<=g;i++)
{
cin>>e[i]>>c[i];
}
for(i=1;i<=g;i++)
{
for(j=w;j>=1;j--)
{
nj=j+e[i];
if(cmin[j] && nj<=w)
{
if(!cmin[nj] || cmin[nj]>cmin[j]+c[i])
{
cmin[nj]=cmin[j]+c[i];
}
}
else if(cmin[j] && nj>w)
{
if(!cmin[w] || cmin[w]>cmin[j]+c[i])
{
cmin[w]=cmin[j]+c[i];
}
}
}
if(!cmin[e[i]] || cmin[e[i]]>c[i])
{
cmin[e[i]]=c[i];
}
if(e[i]>=w)
{
if(!cmin[w] || cmin[w]>c[i])
cmin[w]=c[i];
}
}
if(cmin[w]!=0)
cout<<cmin[w]<<'\n';
else cout<<"-1"<<'\n';
return 0;
}