Cod sursa(job #2207886)

Utilizator georgitTreista Georgiana georgit Data 27 mai 2018 10:43:36
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <fstream>
#define MAX 1e9
#define N 10000

using namespace std;
int dp[N+5];
int main()
{
    ifstream f("energii.in");
    ofstream g("energii.out");
    int n,G;
    f>>n>>G;
    for(int i=1;i<=N;i++)
        dp[i]=MAX;
    for(int i=1;i<=n;i++)
    {
        int e,cost;
        f>>e>>cost;
        for(int j=G;j>=1;j--)
        {
            if(dp[j]!=MAX)
                dp[j+e]=min(dp[j+e],dp[j]+cost);
        }
        dp[e]=min(dp[e],cost);
    }
    int mini=MAX;
    for(int i=G;i<=N;i++)
        mini=min(mini,dp[i]);
    if(mini==MAX)
        g<<-1;
    else
        g<<mini;
    return 0;
}