Cod sursa(job #2835022)

Utilizator AndreibatmanAndrei Croitoriu Andreibatman Data 17 ianuarie 2022 23:10:19
Problema Energii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.55 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("energii.in");
ofstream fout("energii.out");
int n,g,dp[5010],p[1010],w[1010],best=INT_MAX,i,cw;
int main()
{
    fin>>n>>g;
    for(i=1;i<=n;i++)
        fin>>w[i]>>p[i];
    for(i=0;i<=g;i++)
        dp[i]=1000000;
    for(i=1;i<=n;i++)
        for(cw=g;cw>=0;cw--)
            if(cw<=w[i])
                dp[cw]=min(dp[cw],p[i]);
            else dp[cw]=min(dp[cw],dp[cw-w[i]]+p[i]);
    if(dp[g]==1000000)
        fout<<"-1\n";
    else fout<<dp[g]<<'\n';
    return 0;
}