Cod sursa(job #2177672)

Utilizator alexradu04Radu Alexandru alexradu04 Data 18 martie 2018 19:06:36
Problema Energii Scor 95
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <cstdio>

using namespace std;
int mmin(int a , int b)
{
    return ((a < b) ? a : b);
}
const int nmax = 5001;
const int inf = 1000000000;
int dp[nmax+5];
int main()
{
    freopen("energii.in","r",stdin);
    freopen("energii.out","w",stdout);
    int n, k;
    scanf("%d %d",&n,&k);
    for(int i = 1 ; i <= nmax ; i++)
        dp[i] = inf;
    dp[0] = 0;
    for(int i = 1 ; i <= n ; i++)
    {
        int a, b;
        scanf("%d %d",&a,&b);
        for(int j = k; 0 <= j ; j--)
        {
            dp[mmin(j + a, k)] = mmin(dp[mmin(j + a, k)], dp[j] + b);
        }
    }
    printf("%d",dp[k]);
    return 0;
}