Pagini recente » Cod sursa (job #1169225) | Cod sursa (job #591473) | Cod sursa (job #2454801) | Cod sursa (job #640175) | Cod sursa (job #2354304)
#include <bits/stdc++.h>
using namespace std;
ifstream in("energii.in");
ofstream out("energii.out");
const int maxN=6e6;
int n,w,generator[1005],pret[1005],v[10005],i,j,cf,suma=0,suma_pret=0,valmin=maxN;
int main()
{
in>>n>>w;
v[0]=0;
for(i=1;i<=10005;i++)
v[i]=maxN;
for(i=1;i<=n;i++)
{
in>>generator[i]>>pret[i];
suma+=generator[i];
suma_pret+=pret[i];
}
if(suma<w)
{
out<<-1;
return 0;
}
if(suma==w)
{
out<<suma_pret;
return 0;
}
for(i=1;i<=n;i++)
{
for(j=10005-generator[i];j>=0;j--)
{
if(v[j+generator[i]]>v[j]+pret[i])
v[j+generator[i]]=v[j]+pret[i];
}
}
for(i=w;i<=10005;i++)
{
if(v[i]<valmin)
valmin=v[i];
}
out<<valmin;
return 0;
}