Cod sursa(job #2716145)

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

using namespace std;

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

const int INF = 1e9;

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

int n, W;

int minCost(int n, int W){

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

    for(int i = 1;i <= W;i++)
    	dp[i] = INF;
    for(int i = 1;i <= W;i++)
    	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);

    if(dp[W] == INF)
    	return -1;
    return dp[W];
}

int main(){

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