Cod sursa(job #2332499)

Utilizator Seba951Sebastian Boerescu Seba951 Data 30 ianuarie 2019 19:51:59
Problema Energii Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <fstream>

using namespace std;

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

const int N=10005;
int n, k, vf;
int p[N], g[N];
bool profit[N];

void citire()
{
    in>>n>>k;
    for(int i=1; i<=n; i++) in>>p[i]>>g[i];
}

int main()
{
    citire();
    profit[0]=1;
    for(int i=1; i<=n; i++)
        for(int j=vf; j>=0; j--)
            if(profit[j] && j+g[i]<N)
            {
                profit[j+g[i]]=1;
                vf=max(vf, j+g[i]);
            }
    for(int i=k; i<=vf; i++)
        if(profit[i])
        {
            out<<i;
            return 0;
        }
    out<<-1;
    return 0;
}