Pagini recente » Cod sursa (job #2111138) | Cod sursa (job #2540316) | Cod sursa (job #1192054) | Cod sursa (job #2229196) | Cod sursa (job #1102682)
#include <fstream>
using namespace std;
ifstream f("energii.in");
ofstream g("energii.out");
const long long N=10000001;
long long cost[N];
struct {int e,c;} a[1001];
int main(){
int gr,w,i,s=0,j;
long long mini;
f>>gr>>w;
for(i=1;i<=gr;i++){
f>>a[i].e>>a[i].c;
s=s+a[i].e;
}
for(i=1;i<=s;i++)
cost[i]=N;
cost[0]=0;
for(i=1;i<=gr;i++)
for(j=s-a[i].e;j>=0;j--)
if(cost[j]!=N && cost[j]+a[i].c<cost[j+a[i].e])
cost[j+a[i].e]=cost[j]+a[i].c;
mini=cost[w];
for(i=w+1;i<=s;i++)
if(cost[i]<mini)
mini=cost[i];
g<<mini<<"\n";
return 0;
}