Pagini recente » Cod sursa (job #458580) | Cod sursa (job #2508090) | Cod sursa (job #1728493) | Cod sursa (job #2525246) | Cod sursa (job #2149626)
#include <fstream>
using namespace std;
ifstream f("energii.in");
ofstream gout("energii.out");
int i, j, g[1002], a[15005], v[1002], G, n, vmin=100001, S;
int main()
{
f>>n>>G;
for(i=1;i<=n;++i) f>>g[i]>>v[i], S+=g[i];
if(S<G) gout<<-1<<"\n";
else
{
a[0]=1;
for(i=1;i<=n;++i)
for(j=G;j>=0;--j)
if(a[j])
{
if(!a[j+g[i]]) a[j+g[i]]=a[j]+v[i];
else if(a[j]+v[i]<a[j+g[i]]) a[j+g[i]]=a[j]+v[i];
if(j+g[i]>=G) vmin=min(vmin, a[j+g[i]]);
}
gout<<vmin-1<<"\n";
}
return 0;
}