Cod sursa(job #3233628)

Utilizator AndreasBossGamerBaragau Andreas AndreasBossGamer Data 4 iunie 2024 09:40:20
Problema Energii Scor 95
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <fstream>
#include <climits>
#include <vector>

using namespace std;

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

int n, w;
vector<int> greutate, valoare, dp;

void printArr()
{
    cout << '\n';
    for(int i = 0;i<=w;i++)
        cout << dp[i]<< " ";
}

int main()
{
    cin>>n>>w;
    greutate.resize(n+1), valoare.resize(n+1);
    dp.resize(w+1, 1000000000);
    dp[0] = 0;

    for(int i = 1;i<=n;i++)
        cin>>greutate[i] >> valoare[i];

    for(int i = 1;i<=n;i++)
    {
        for(int j = w - 1;j>=0;j--)
        {
            dp[min(w, j + greutate[i])] = min(dp[min(w, j+ greutate[i])], dp[j] + valoare[i]);
        }
        //printArr();
    }
    cout << dp[w];
}