Cod sursa(job #2471409)

Utilizator matei123Biciusca Matei matei123 Data 10 octombrie 2019 20:41:13
Problema Energii Scor 5
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.56 kb
#include <bits/stdc++.h>
using namespace std;
ifstream f("energii.in"); ofstream g("energii.out");
#define FOR(a,b,c) for(int a=b; a<=c; ++a)
const int NMAX = 1000001;
int G,W,enrg,cost,pd[10001];
int main()
{   f>>G>>W;
    FOR(i,1,W) pd[i]=NMAX;
    FOR(i,1,G)
    {   f>>enrg>>cost;
        for(int j=W;j;--j)
        {   if(pd[j]!=NMAX && enrg+j<=W)
                pd[enrg+j]=min(pd[enrg+j],pd[j]+cost);
            if(enrg+j>W) pd[W]=min(pd[W],pd[j]+cost);
        }
    }
    if(pd[W]==NMAX) g<<-1;
    else g<<pd[W];
    g.close(); return 0;
}