Cod sursa(job #2518955)

Utilizator hhhhhhhAndrei Boaca hhhhhhh Data 6 ianuarie 2020 19:44:10
Problema Energii Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <bits/stdc++.h>

using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
int dp[1001][10001],n,g;
struct date
{
    int val;
    int cost;
};
date v[1001];
int main()
{
    ios_base::sync_with_stdio(false);
    fin.tie(0);
    fout.tie(0);
    fin>>n>>g;
    for(int i=1;i<=n;i++)
    {
        fin>>v[i].val>>v[i].cost;
        for(int j=1;j<=10000;j++)
            dp[i][j]=1000000;
    }
    dp[1][v[1].val]=v[1].cost;
    for(int i=2;i<=n;i++)
        for(int j=10000;j>=1;j--)
        {
            bool ok=1;
            if(i==n)
                ok=0;
            if(j-v[i].val>=0)
                dp[i][j]=dp[i-1][j-v[i].val]+v[i].cost;
            dp[i][j]=min(dp[i-1][j],dp[i][j]);
            dp[i][j]=min(dp[i][j+1],dp[i][j]);
        }
    fout<<dp[n][g];
    return 0;
}