Cod sursa(job #2715709)

Utilizator UnknownPercentageBuca Mihnea-Vicentiu UnknownPercentage Data 4 martie 2021 09:03:17
Problema Energii Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.56 kb
#include <bits/stdc++.h>

using namespace std;

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

struct object{
    int val, wt;
} v[1001];

int n, W;

int KnapSack(int n, int W){

    int dp[W + 1];
    dp[0] = 0;

    for(int i = 1;i <= W;i++){
        dp[i] = INT_MAX;
        for(int j = 1;j <= n;j++)
            if(v[j].wt <= i) dp[i] = min(dp[i], dp[i - v[j].wt] + v[j].val);
    }

    return dp[W];
}

int main(){

    f >> n >> W;
    for(int i = 1;i <= n;i++)
       f >> v[i].wt >> v[i].val;

   g << KnapSack(n, W);
}