Cod sursa(job #2062492)

Utilizator savigunFeleaga Dragos-George savigun Data 10 noiembrie 2017 15:27:44
Problema Energii Scor 95
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <iostream>
#include <fstream>
using namespace std;

ifstream in("energii.in");
ofstream out("energii.out");

int n, w, sol = 1e9;
int e[1005], c[1005], dp[5005];


int main()
{
    in >> n >> w;
    for (int i = 1; i <= n; ++i) in >> e[i] >> c[i];
    for (int i = 1; i <= w; ++i) dp[i] = 1e9;

    for (int i = 1; i <= n; ++i) {
        for (int j = w; j >= 0; --j) {
            if (dp[j] == 1e9) continue;
            if (j + e[i] >= w) {
                sol = min(sol, dp[j] + c[i]);
            } else {
                dp[j + e[i]] = min(dp[j + e[i]], dp[j] + c[i]);
            }
        }
    }

    out << sol;

    return 0;
}