Pagini recente » Cod sursa (job #3220732) | Cod sursa (job #873836) | Cod sursa (job #2274106) | Cod sursa (job #3194311) | Cod sursa (job #1028162)
#include<fstream>
#define M 2000000000
using namespace std;
int v[5001],c[5001],d[10001];
void init(int s)
{
for (int i=1;i<=s;++i)
d[i]=-1;
}
int main()
{
ifstream in ("energii.in");
ofstream out ("energii.out");
int w,g,i,mn,s=0;
in>>g>>w;
for (i=0;i<g;++i)
{
in>>v[i]>>c[i];
s+=v[i];
}
init(s);
d[0]=0;
for (int j=0;j<g;++j)
for (i=s-v[j];i>-1;--i)
if (d[i+v[j]]>d[i]+c[j] || (d[i+v[j]]==-1 && d[i]>-1))
d[i+v[j]]=d[i]+c[j];
mn=M;
for (i=w;i<=s;++i)
if (mn>d[i] && d[i]>0)
mn=d[i];
out<<mn<<'\n';
in.close();
out.close();
return 0;
}