Cod sursa(job #2845256)

Utilizator bostanlucastefanBostan Luca-Stefan bostanlucastefan Data 7 februarie 2022 17:47:23
Problema Energii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <fstream>

using namespace std;

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

const int INF=1e9;
const int N=1e3+2;
const int G=1e4+2;

int n,g,i,j;
int v[N],w[N],dp[N][G];

int main()
{
    fin>>n>>g;
    for(i=1; i<=n; i++)
        fin>>v[i]>>w[i];
    for(i=1; i<=n; i++)
        for(j=1; j<=g; j++)
            dp[i][j]=INF;

    dp[1][v[1]]=w[1];
    for(i=2; i<=n; i++)
        for(j=1; j<=g; j++)
            if(j>=v[i])
                dp[i][j]=min(dp[i-1][j],dp[i-1][j-v[i]]+w[i]);
            else
                dp[i][j]=min(dp[i-1][j],w[i]);

    if(dp[n][g]==INF)
    {
        fout<<"-1\n";
        return 0;
    }
    fout<<dp[n][g]<<'\n';
    return 0;
}