Cod sursa(job #2407475)

Utilizator oogaboogauvuvwevwevwe onyetenyevwe ugwemubwem ossas oogabooga Data 16 aprilie 2019 21:38:41
Problema Energii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <bits/stdc++.h>
using namespace std;

typedef long long ll;
typedef unsigned long long ull;

#define Inf 1999999999

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

#define Gmax 10005
ll G,W,E[Gmax],C[Gmax],Dp[Gmax];

int main(){
    in>>G>>W;
    for(int i = 1; i <= G; ++i) in>>E[i]>>C[i];

    for(int i = 1; i < Gmax; ++i) Dp[i] = Inf;

    for(int i = 1; i <= G; ++i){
        for(int j = W; j >= E[i]; --j)
            Dp[j] = min(Dp[j], Dp[j - E[i]] + C[i]);

        for(int j = 1; j <= E[i]; ++j)
            Dp[j] = min(Dp[j], C[i]);
    }

    if(Dp[W] != Inf) out<<Dp[W];
    else             out<<-1;

    return 0;
}