Cod sursa(job #2205043)

Utilizator DordeDorde Matei Dorde Data 17 mai 2018 18:58:44
Problema Energii Scor 95
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <fstream>
#include <algorithm>
using namespace std;
int const NM = 16007 , INF = (1 << 30);
char const in [] = "energii.in";
char const out [] = "energii.out";
ifstream cin (in);
ofstream cout (out);
int dp [NM] , sol = (1 << 30);
int main()
{
    int n , i , j , a , b , k , from = 0;
    cin >> n >> k;
    fill (dp + 1, dp + NM + 1 , INF);
    for(i = 1 ; i <= n ; ++ i)
    {
        cin >> a >> b;
        for(j = from ; j >= 1 ; -- j)
            if(dp [j] != INF)
                dp [j + a] = min (dp [j + a] , dp [j] + b);
        from = min (k , from + a);
        dp [a] = min (dp [a] , b);
    }
    for(i = k ; i <= NM ; ++ i)
        sol = min (sol , dp [i]);
    cout << sol << '\n';
    return 0;
}