Cod sursa(job #2799397)

Utilizator sandifx68Fazakas Alexandru sandifx68 Data 13 noiembrie 2021 10:05:16
Problema Energii Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.57 kb
#include <fstream>
#include <cstring>

using namespace std;

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

int n,W,EG[1005],CG[1005],dp[5005];

int main()
{
    cin>>n>>W;
    for(int i=1;i<=n;i++){
        cin>>EG[i]>>CG[i];
    }
    for(int i=1;i<=W;i++)
        dp[i]=1000000005;
    for(int i=1;i<=n;i++){
        for(int j=W;j>=1;j--)
            if(j<=EG[i]) dp[j]=(dp[j]<CG[i]?dp[j]:CG[i]);
            else dp[j] = (dp[j]<CG[i]+dp[j-CG[i]]?dp[j]:CG[i]+dp[j-CG[i]]);
    }
    if(dp[W]==1000000005) cout<<"-1";
    else cout<<dp[W];
}