Pagini recente » Cod sursa (job #3264938) | Cod sursa (job #2550279) | Cod sursa (job #977447) | Cod sursa (job #1374394) | Cod sursa (job #2203472)
#include <iostream>
#define MAX 2000000
#define MAXD 20001
using namespace std;
int main(){
int g, w, e[1001], c[1001], i,d[MAXD],j;
freopen("energii.in" , "r" , stdin);
freopen("energii.out" , "w" , stdout);
cin>>g>>w;
for(i=1 ; i<=g ; i++){
cin>>e[i]>>c[i];
}
for (i = 1; i < MAXD; i++) {
d[i] = MAX;
}
for(i=1 ; i<=g ; i++){
for(j=MAXD - 1; j>=1; j--){
if(d[j]!=MAX){
if(d[j+e[i]]>d[j]+c[i]){
d[j+e[i]] = d[j]+c[i];
}
}
}
if (d[e[i]] > c[i]) {
d[e[i]] = c[i];
}
}
int min = MAX;
for (i = w; i < MAXD; i++) {
if (min > d[i])
min = d[i];
}
if (min == MAX) {
cout << -1;
} else {
cout << min;
}
return 0;
}