Cod sursa(job #3168040)

Utilizator AdrianRosuRosu Adrian Andrei AdrianRosu Data 11 noiembrie 2023 14:19:50
Problema Energii Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <bits/stdc++.h>
#define DIM 1001
#define MOD 30013
#define INF 1e9

using namespace std;

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

int dp[DIM][5 * DIM];

pair <int, int> v[DIM];

int n, i, j, needed;

int main(){

    fin >> n >> needed;

    for(i=1;i<=n;i++)
        fin >> v[i].first >> v[i].second;

    for(i=1;i<=n;i++)
        for(j=1;j<=needed;j++)
            dp[i][j] = INF;

    dp[1][v[1].first] = v[1].second;

    for(i=2;i<=n;i++)
        for(j=1;j<=needed;j++){

            dp[i][j] = dp[i - 1][j];

            if(j - v[i].first >= 0)
                dp[i][j] = min(dp[i][j], dp[i - 1][j - v[i].first] + v[i].second);

        }

    fout << dp[n][needed];

}