Cod sursa(job #2206724)

Utilizator Iulia14iulia slanina Iulia14 Data 23 mai 2018 16:58:22
Problema Energii Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <fstream>

using namespace std;
ifstream cin ("energii.in");
ofstream cout ("energii.out");
int dp[15005];
int main()
{
    int n,w,i,j,e,c,mi=50000005,ok=0;
    cin>>n>>w;
    for (i=1;i<=n;i++)
    {
        cin>>e>>c;
        for (j=w-1;j>=1;j--)
        {
            if (dp[j]!=0)
            {
                if (dp[j+e]!=0)
                    dp[j+e]=min(dp[j+e],dp[j]+c);
                else
                    dp[j+e]=dp[j]+c;
            }
        }
        if (dp[e]==0)
            dp[e]=c;
        else
            dp[e]=min(c,dp[e]);
    }
    for (i=15000;i>=w;i--)
    {
        if (dp[i]<mi&&dp[i]!=0)
        {
            ok=1;
            mi=dp[i];
        }
    }
    if (ok==1)
        cout<<mi;
    else
        cout<<-1;
    return 0;
}