Cod sursa(job #2449422)

Utilizator Ionut28Porumb Palincas Ionut Ionut28 Data 19 august 2019 17:02:29
Problema Energii Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <bits/stdc++.h>

using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");

int g, w, e, c, dp[2][5001], L;

int main()
{
    fin >> g >> w;
    L = 1;
    for(int i = 1; i <= 5001; ++i)
        dp[0][i] = 2e9;
    for(int i = 1; i <= g; ++i, L = 1 - L)
    {
        fin >> e >> c;
        for(int j = 0; j <= w; ++j)
        {
            dp[L][j] = dp[1 - L][j];
            if(j >= e)
                dp[L][j] = min(dp[L][j], dp[1 - L][j - e] + c);

        }
    }
    L = 1 - L;
    int sol = 1e9;
    for(int i = w; i <= 5001; ++i)
    {
        if(dp[L][i] < sol)
        {
            sol = dp[L][i];
            break;
        }
    }
    if(sol == 1e9)
        fout << -1 << "\n";
    else
        fout << sol;
    return 0;
}