Cod sursa(job #2178418)

Utilizator Constantin.Dragancea Constantin Constantin. Data 19 martie 2018 14:25:20
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.53 kb
#include <bits/stdc++.h>
using namespace std;

int n, w, dp[5010], a[1010], b[1010];

int main(){
    ifstream cin ("energii.in");
    ofstream cout ("energii.out");
    cin >> n >> w;
    for (int i=1; i<=n; i++) cin >> a[i] >> b[i];
    for (int i=1; i<=w; i++) dp[i] = 1e9;
    for (int i=1; i<=n; i++){
        for (int j=w; j; j--){
            if (j < a[i]) dp[j] = min(dp[j], b[i]);
            else dp[j] = min(dp[j - a[i]] + b[i], dp[j]);
        }
    }
    cout << (dp[w] == 1e9? -1 : dp[w] );
    return 0;
}