Cod sursa(job #2951796)

Utilizator handicapatucavasi eduard handicapatu Data 7 decembrie 2022 12:28:13
Problema Energii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <bits/stdc++.h>

using namespace std;

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

int G , w , totalEnergy;
int e[1001] , c[1001];
int dp[5001];

int main()
{
    f >> G >> w;
    for(int i = 1 ; i <= G ; ++i){
        f >> e[i] >> c[i];
        totalEnergy += e[i];
    }
    if(totalEnergy < w){
        g << -1;
        return 0;
    }
    for(int i = 1 ; i <= w ; ++i)
        dp[i] = 2000000000;
    for(int i = 1 ; i <= G ; ++i)
        for(int j = w ; j >= 0 ; --j){
            int jj = j + e[i];
            jj = min(w , jj);
            dp[jj] = min(dp[jj] , dp[j] + c[i]);
        }
    g << dp[w];
    return 0;
}