Cod sursa(job #2480136)

Utilizator TeddyDinutaDinuta Eduard Stefan TeddyDinuta Data 24 octombrie 2019 22:45:42
Problema Energii Scor 45
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,ok=1,s,s1;
int dp[10000005];
int main()
{
    ios_base::sync_with_stdio(0),cin.tie(0),cout.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<=s;i++) dp[i]=1000000000;
    for(int i=1;i<=n;i++)
    {
        for(int j=s;j>0&&j-e[i]>=0;j--)
        {
            dp[j]=min(dp[j],dp[j-e[i]]+c[i]);
            if(j>=g) ans=min(ans,dp[j]);
        }
    }
    out<<ans;
    return 0;
}