Cod sursa(job #2394184)

Utilizator mihnea.anghelMihnea Anghel mihnea.anghel Data 1 aprilie 2019 13:13:00
Problema Energii Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <fstream>

using namespace std;
ifstream f("energii.in");
ofstream g("energii.out");
int d[10000], scer, da[2000], cere[2000],maxi,i,j,mini,necesar,s,n;
int main()
{
    f>>n>>necesar;
    for(i=1;i<=n;i++) f>>da[i]>>cere[i], s+=da[i], scer+=cere[i];
    d[1]=0; for(i=1;i<=s;i++) d[i]=-1;
    maxi=0;
    for(i=1;i<=n;i++)
        for(j=maxi; j>=0; j--){
            if(d[j]!=-1){
                if (d[j+da[i]]==-1) d[j+da[i]]=cere[i];
                else d[j+da[i]]=min(d[j+da[i]], d[j]+cere[i]);
            }
        }
    mini=scer;
    for(i=necesar;i<=s;i++)
        if(d[i]!=-1)
            mini=min(mini,d[i]);
    g<<mini;
    return 0;
}