Cod sursa(job #2510121)

Utilizator BogdanRuleaBogdan Rulea BogdanRulea Data 15 decembrie 2019 20:18:32
Problema Energii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <fstream>
#include <string.h>
using namespace std;
ifstream cin("energii.in");
ofstream cout("energii.out");
int n,Wmin,e[10001],g[10001],dp[2][10001];
#define oo (1<<30)

int main()
{
    cin>>n>>Wmin;
    for(int i=1; i<=n; i++)
        cin>>e[i]>>g[i];
for(int i=1;i<=10000;i++)
    dp[0][i]=oo;
    for(int q=1,i=1; i<=n; q=1-q,i++)
        for(int j=1; j<10001; j++)
        {
            dp[q][j]=dp[1-q][j];
            if(e[i]<=j)
                dp[q][j]=min(dp[q][j],dp[1-q][j-e[i]]+g[i]);
        }
    int Min=oo;
    for(int i=Wmin; i<=10000-8; i++)
        Min=min(Min,dp[1][i]);
    cout<<(Min==oo ? -1 : Min);
    return 0;
}