Cod sursa(job #2049325)

Utilizator BungerNadejde George Bunger Data 27 octombrie 2017 07:25:46
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <bits/stdc++.h>

using namespace std;
ifstream fin ("energii.in");
ofstream fout ("energii.out");
int c,g,e,w,dp[5002];
void functie1(int E,int C)
{
    for(int i=w;i>=E;i--)
        dp[i]=min(dp[i], dp[i-E]+C);

}
void functie2(int E, int C)
{
    for(int i=E;i>=1;i--)
        dp[i]=min(dp[i],C);
}
int citire()
{
        for(int i=1;i<=5001;i++)
        dp[i]=2000000000;
        fin>>g>>w;
    for(int i=1;i<=g;i++)
    {
        fin>>e>>c;
        functie1(e,c);
        functie2(e,c);

    }
    if(dp[w]!=2000000000)
        return dp[w];
        else
            return -1;
}
int main()
{
    fout<<citire();
    return 0;
}