Cod sursa(job #1453481)

Utilizator DrumeaVDrumea Vasile DrumeaV Data 23 iunie 2015 17:38:57
Problema Energii Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <bits/stdc++.h>
using namespace std;

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

const int Dim = 5100;
const int INF = 10000;

inline int Min(int A,int B)
{
    return (A < B) ? A : B;
}

int G,W,dp[Dim];

int main()
{
    fin >> G;
    fin >> W;

    int E,C;
    fill(dp,dp + Dim,INF);

     while (G--)
     {
         fin >> E >> C;

         for (int j = W;j >= E;j--)
            dp[j] = Min(dp[j],dp[j-E] + C);

         dp[E] = Min(dp[E],C);
     }
     if (dp[W] == INF)
        fout << -1;
     else
        fout << dp[W];

    return 0;
}