Cod sursa(job #2037931)

Utilizator butasebiButa Gabriel-Sebastian butasebi Data 12 octombrie 2017 23:02:41
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include<bits/stdc++.h>
using namespace std;
int i, j, e[1005], c[1005], dp[1005][1005], E, n;
int main()
{
    ifstream f("energii.in");
    ofstream g("energii.out");
    f >> n >> E;
    for(i = 1;i <= n;i++)
        f >> e[i] >> c[i];
    for(j = c[1];j <= E;j++)
        dp[1][j] = e[1];
    for(i = 2;i <= n;i++)
        for(j = 1;j <= 3 * E;j++)
        {
            dp[i][j] = dp[i][j - 1];
            if(c[i] <= j)dp[i][j] = max(dp[i][j - 1], dp[i - 1][j - c[i]] + e[i]);
            if(dp[i][j] >= E)
            {
                g << j;
                return 0;
            }
        }
    g << "-1";
    return 0;
}