Cod sursa(job #2931347)

Utilizator AndreiBOTOBotocan Andrei AndreiBOTO Data 30 octombrie 2022 22:10:50
Problema Energii Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <iostream>
#include <fstream>
#include <algorithm>

///#include <tryhardmode>
///#include <GODMODE::ON>

using namespace std;

ifstream fin ("energii.in");
ofstream fout ("energii.out");

const int NMAX=1005;
const int INF=2e9;

int dp[NMAX];
int e[NMAX],c[NMAX];

int main()
{
    int g,w,kon=INF,i,j;
    fin>>g>>w;
    for(i=1;i<=g;i++)
        fin>>e[i]>>c[i];
    for(i=1;i<=w;i++)
        dp[i]=INF;
    for(i=1;i<=g;i++)
    {
        for(j=w-1;j>=0;j--)
        {
            if(dp[j]!=INF)
            {
                if(j+e[i]>=w)
                    kon=min(kon,dp[j]+c[i]);
                else
                    dp[j+e[i]]=min(dp[j+e[i]],dp[j]+c[i]);
            }
        }
    }
    if(kon==INF)
        fout<<-1;
    else
        fout<<kon;
    return 0;
}