Pagini recente » Cod sursa (job #293783) | Cod sursa (job #48196) | Cod sursa (job #2640047) | Cod sursa (job #1057125) | Cod sursa (job #3168353)
#include <bits/stdc++.h>
using namespace std;
#define INF 1e9
#define NMAX 5020
int dp[NMAX], c[NMAX], e[NMAX];
int main(void){
ofstream cout("energii.out");
ifstream cin("energii.in");
int n, G;
cin >> n >> G;
for(int i = 1;i<=n;i++){
cin >> e[i] >> c[i];
}
for(int i = 1;i<=G;i++)dp[i] = INF;
for(int i = 1;i<=n;i++){
for(int j = G - 1;j>=0;j--){
if(dp[j] != INF){
int aux = j + e[i];
if(aux > G){
aux = G;
}
if(dp[aux] > dp[j] + c[i])dp[aux] = dp[j] + c[i];
}
}
}
if(dp[G] == INF)cout << -1;
else cout << dp[G];
}