Cod sursa(job #1936554)

Utilizator matystroiaStroia Matei matystroia Data 23 martie 2017 10:49:29
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include <fstream>
using namespace std;

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

const int N=1005, INF=2e9;

int n, vgoal, v[N], g[N], dp[10010];

int main()
{
    fin>>n>>vgoal;
    int gmax=0;
    for(int i=1;i<=n;++i)
        fin>>v[i]>>g[i], gmax+=g[i];

    for(int i=1;i<=2*vgoal;++i)
        dp[i]=INF;

    for(int i=1;i<=n;++i)
        for(int j=2*vgoal;j>=v[i];--j)
            dp[j]=min(dp[j], dp[j-v[i]]+g[i]);

    int ans=INF;
    for(int i=vgoal;i<=2*vgoal;++i)
        ans=min(ans, dp[i]);

    fout<<((ans==INF)?-1:ans);
    return 0;
}