Cod sursa(job #1004907)

Utilizator StefansebiStefan Sebastian Stefansebi Data 3 octombrie 2013 20:01:28
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include<fstream>
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
int optim[5001], w[5001], p[5001], n, i, j, g, c, sol;

int main() {
    fin >> n; fin >> c;
    for (i = 1; i <= n; i++) {
        fin >> p[i] >> w[i];
        g = g + w[i];
    }
    for (i = 1; i <= n; i++)
        for (j = g - w[i]; j >= 0; j--)
            if (optim[j + w[i]] < optim[j] + p[i])
                optim[j + w[i]] = optim[j] + p[i];

    for (i = 1; i <= g; i++)
        if (optim[i] == c){
            sol = i; i = g + 1;
        }
    fout << sol;

}