Pagini recente » Cod sursa (job #108397) | Cod sursa (job #814393) | Cod sursa (job #1483496) | Cod sursa (job #69526) | Cod sursa (job #928166)
Cod sursa(job #928166)
#include <fstream>
using namespace std;
ifstream in ("energii.in");
ofstream out ("energii.out");
int v[10000005];
int main()
{
long long g,w,eg,i,cons,sum=0,j,min=999999999;
in>>g>>w;
for(i=1; i<=g; i++)
{
in>>eg>>cons;
if(cons>min)
continue;
sum+=eg;
for(j=w; j>0; j--)
if(v[j]!=0 && (v[j+eg]>v[j]+cons || v[j+eg]==0))
{
v[j+eg]=v[j]+cons;
if((j+eg)>=w && v[j+eg]<min)
min=v[j+eg];
}
if(v[eg]>cons || v[eg]==0)
v[eg]=cons;
if(eg>=w && v[eg]<min)
min=v[eg];
}
if(min==999999999)
{
out<<"-1";
return 0;
}
out<<min;
return 0;
}