Pagini recente » Cod sursa (job #509) | Cod sursa (job #378262) | Cod sursa (job #2159379) | Cod sursa (job #474368) | Cod sursa (job #2615198)
#include<fstream>
using namespace std;
ifstream cin("energii.in");
ofstream cout("energii.out");
int v[5001], e[1001], c[1001];
int main()
{
int g, w, i, j, minim, s;
cin>>g>>w;
s=0;
for(i=1; i<=g; i++)
{
cin>>e[i]>>c[i];
s+=c[i];
}
//cout<<s<<'\n';
for(i=1; i<=g; i++)
for(j=s-c[i]; j>=0; j--)
if(v[j]+e[i] > v[j+c[i]] && v[j] != 0)
v[j+c[i]]=v[j]+e[i];
else if(j == 0 && v[j]+e[i] > v[j+c[i]])
v[j+c[i]]=v[j]+e[i];
//for(i=1; i<=s; i++)
// cout<<v[i]<<" ";
//cout<<'\n';
minim=10000001;
for(i=s; i>=0; i--)
if(v[i] >= w)
minim=i;
if(minim == 10000001)
cout<<"-1 ";
else
cout<<minim;
return 0;
}