Pagini recente » Cod sursa (job #2377932) | Cod sursa (job #1798481) | Cod sursa (job #1188473) | Cod sursa (job #722759) | Cod sursa (job #2428445)
#include <iostream>
#include <fstream>
using namespace std;
int s[10001];
struct energii{
int energie;
int cost;
};
energii v;
int main()
{
ifstream fin("energii.in");
ofstream fout("energii.out");
int g,w,i,smin,max1,min1,j;
fin>>g>>w;
for(i=1;i<=10001;i++)
s[i]=2000000000;
max1=0;
for(i=1;i<=g;i++){
fin>>v.energie>>v.cost;
for(j=max1;j>=0;j--){
if(j+v.energie<10002){
if(s[j]+v.cost<s[j+v.energie])
s[j+v.energie]=s[j]+v.cost;
}
}
if(max1+v.energie<=10002)
max1=max1+v.energie;
else
max1=10001;
}
if(max1<w)
fout<<"-1";
else{
min1=2000000000;
for(i=w;i<10001;i++){
if(s[i]!=2000000000 && s[i]<min1)
min1=s[i];
}
fout<<min1;
}
return 0;
}