Cod sursa(job #2480146)

Utilizator TeddyDinutaDinuta Eduard Stefan TeddyDinuta Data 24 octombrie 2019 23:04:54
Problema Energii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <bits/stdc++.h>

using namespace std;
ifstream in("energii.in");
ofstream out("energii.out");
int n,g,e[1100],c[1100],ans,s;
int dp[10000005];
int main()
{
    ios_base::sync_with_stdio(0),cin.tie(0);
    in>>n>>g;
    for(int i=1;i<=n;i++) {
        in>>e[i]>>c[i];
        s+=e[i];
    }
    if(s<g)
    {
        out<<-1;
        return 0;
    }
    ans=1000000000;
    for(int i=1;i<=g;i++) dp[i]=1000000000;
    for(int i=1;i<=n;i++)
    {
        for(int j=g;j>=0;j--)
        {
            if(e[i]+j>g) dp[g]=min(dp[g],dp[j]+c[i]);
            else dp[e[i]+j]=min(dp[e[i]+j],dp[j]+c[i]);
        }
    }
    out<<dp[g];
    return 0;
}