Cod sursa(job #2048989)

Utilizator horea4Cenan Horea horea4 Data 26 octombrie 2017 19:10:17
Problema Energii Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <iostream>
#include <fstream>
#define IN 2000000000
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
int cost[1001],energie[1001];
int dp[10005];
int nrg,needed,etotal,indicator;
int main()
{   fin>>nrg>>needed;
for(int i=1;i<=nrg;i++)
{
    fin>>energie[i]>>cost[i];
    etotal+=energie[i];
}
if(etotal<needed)
{
    fout<<-1;
    return 0;
}
for(int i=1;i<=10001;i++)dp[i]=IN;
for(int i=1;i<=needed;i++)
{
    for(int j=needed;j>=energie[i];j--)
    {
        dp[j]=min(dp[j-energie[i]]+cost[i],dp[j]);
    }
    for(int t=energie[i];t>=1;t--)
    {
       dp[t]=min(dp[t],cost[i]);
    }
    ;


}
fout<<dp[needed];

    return 0;
}