Cod sursa(job #3294586)

Utilizator Grama2008Grama Andrei Teodor Grama2008 Data 25 aprilie 2025 21:24:04
Problema Energii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <iostream>

using namespace std;

const int MAXW=(int)(15*1e3+1);

const int INF=(int)1e9;

int dp[MAXW];

int main(){


    freopen("energii.in", "r", stdin);
    freopen("energii.out", "w", stdout);
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    int g,w,e,c;
    for (int i=0;i<MAXW;i++){
        dp[i]=INF;
    }
    cin>>g>>w;
    int ans=INF;
    dp[0]=0;
    for (int i=0;i<g;i++){
        cin>>e>>c;
        for (int j=w;j>=0;j--){
            if (dp[j]!=INF){
                dp[j+e]=min(dp[j+e], dp[j]+c);
            }
            if (j+e>=w){
                ans=min(ans, dp[j+e]);
            }
        }
    }
    if (ans==INF){
        cout<<-1;
        return 0;
    }
    cout<<ans;
    return 0;
}