Cod sursa(job #2711891)

Utilizator mihnea.cazan15mihnea cazan mihnea.cazan15 Data 24 februarie 2021 20:34:36
Problema Energii Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <iostream>

using namespace std;
const int N=15000;
int best[N+1];
bool dp[N+1];
int main()
{
    int mn,g,w,i,mx,p,wt,j;
    cin>>g>>wt;
    for(i=1;i<=N;i++)
        best[i]=N;
    dp[0]=1;
    mx=0;
    for(i=1;i<=g;i++)
    {
        cin>>p>>w;
        if(mx<=N-p)
        {for(j=mx;j>=0;j--)
        {
            if(dp[j])
            {
                dp[j+p]=1;
                best[j+p]=min(best[j+p],best[j]+w);
                mx=best[j+p];
            }
        }}
    }
    mn=N;
    for(i=wt;i<=N;i++)
        mn=min(mn,best[i]);
    cout<<mn;
    return 0;
}