Cod sursa(job #2309851)

Utilizator PopeangaMihneaPopeanga Mihnea- Stefan PopeangaMihnea Data 29 decembrie 2018 22:24:36
Problema Energii Scor 5
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <bits/stdc++.h>

using namespace std;

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

int n, G;
int w[1001], p[1001], sol[5010];

int main()
{
    fin>>n>>G;
    for(int i=1; i<=n; ++i)
    {
        //sol[i]=INT_MAX;
        fin>>w[i]>>p[i];
    }
    for(int i=1; i<=G; ++i) sol[i]=1010;
    sol[0]=0;
    for(int i=1; i<=n; ++i)
    {
        for(int j=G; j>=w[i]; --j)
        {
            if(sol[j-w[i]]+p[i]<sol[j])
            {
                sol[j]=sol[j-w[i]]+p[i];
            }
        }
    }
    if(sol[G]==1010) fout<<"-1\n";
    else fout<<sol[G]<<"\n";
    return 0;
}