Pagini recente » Cod sursa (job #1361070) | Cod sursa (job #2160369) | Cod sursa (job #883882) | Cod sursa (job #2226596) | Cod sursa (job #2642206)
//#include <iostream>
#include <fstream>
using namespace std;
ifstream cin("energii.in");
ofstream cout("energii.out");
const int NMAX=10005;
const int oo=1<<30;
int g,w,c[NMAX],e[NMAX],a[NMAX][NMAX],l=oo;
int main() {
cin >>g>>w;
for(int i=1; i<=g; i++) {
cin >>e[i]>>c[i];
}
for(int i=1; i<=g; i++) {
for(int j=1; j<=w; j++) {
a[i][j]=oo;
}
}
a[1][e[1]]=c[1];
for(int i=2; i<=g; i++) {
for(int j=1; j<=w; j++) {
a[i][j]=a[i-1][j];
if(e[i]<=j) {
a[i][j]=min(a[i][j],c[i]+a[i-1][j-e[i]]);
} else a[i][j]=min(a[i][j],c[i]);
//cout <<a[i][j]<<" ";
}
//cout <<"\n";
}
if(a[g][w] !=oo)cout <<a[g][w];
else cout <<-1;
return 0;
}