Pagini recente » Cod sursa (job #1298429) | Cod sursa (job #1200851) | Cod sursa (job #816100) | Cod sursa (job #3158879) | Cod sursa (job #2642205)
//#include <iostream>
#include <fstream>
using namespace std;
ifstream cin("energii.in");
ofstream cout("energii.out");
const int NMAX=10005;
const int oo=1<<29;
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]<<" ";
if(a[i][j]>=w)
l=min(a[i][j],l);
}
//cout <<"\n";
}
if(l !=oo)cout <<a[g][w];
else cout <<-1;
return 0;
}