Cod sursa(job #2772659)

Utilizator MihaiIonescuIonescu Andrei Mihai MihaiIonescu Data 2 septembrie 2021 10:05:30
Problema Energii Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <fstream>
using namespace std;
ifstream cin("energii.in");
ofstream cout("energii.out");
int n, G, w[5001], p[5001], i, f[1000000], j, maxx;
int main () {
    cin>>n>>G;
    for (i = 1;i <= n;i++) {
        cin>>p[i]>>w[i];
    }
    for (i = 1;i <= n;i++) {
        for (j = maxx;j >= 1;j--)
            if (f[j] != 0) {
                if (f[j] + p[i] > f[j + w[i]])
                    f[j + w[i]] = f[j] + p[i];
            }
        if (p[i] > f[w[i]]) {
            f[w[i]] = p[i];
        }
        if (w[i] > maxx)
            maxx = w[i];
    }
    for (i = 1;i <= maxx;i++)
        if (f[i] >= G) {
            cout<<i;
            return 0;
        }
}