Cod sursa(job #2833098)

Utilizator claudiuhamciucHamciuc Claudiud claudiuhamciuc Data 14 ianuarie 2022 18:48:56
Problema Energii Scor 95
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <fstream>
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
int n,i,w,v[1003],g[1003],minim=2000000001, dp[1003][5003],j;
int main()
{
    fin>>n>>w;
    for(i=1;i<=n;i++)
    {
        fin>>v[i]>>g[i];
    }
    for(i=0;i<=n;i++)
        for(j=0;j<=w;j++)
            dp[i][j]=2000000001;
    dp[0][0]=0;
    for(i=1;i<=n;i++)
        for(j=1;j<=w;j++)
        {
            if(v[i]>=j)
                dp[i][j] = g[i];
            if(j-v[i]>=0 && dp[i-1][j-v[i]]!=2000000001)
                dp[i][j]=dp[i-1][j-v[i]]+g[i];
            dp[i][j]=min(dp[i][j], dp[i-1][j]);
        }
    /*for(i=1;i<=n;i++){
        for(j=1;j<=w;j++)
          fout<<dp[i][j]<<" ";
        fout<<"\n";
    }*/
    for(i=1;i<=n;i++)
        minim=min(dp[i][w],minim);
    fout<<minim;
    return 0;
}