Cod sursa(job #1149806)

Utilizator laurentiudLaurentiu Diaconu laurentiud Data 22 martie 2014 11:46:47
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("energii.in");
ofstream out("energii.out");
int nrG,needed_energy;
int energies[10001],weights[10001];
int optim[10001];
void citire()
{
    in>>nrG>>needed_energy;
    int i;
    for(i=1;i<=nrG;++i)
        in>>energies[i]>>weights[i];
}
void lets_see()
{
    optim[0]=0;
    int sol=0,i,j;
    for(i=1;i<=nrG;++i)
    {
        for(j=needed_energy-weights[i];j>=0;j--)
        {
            if(optim[j+weights[i]] < optim[j] + energies[i])
            {
                optim[j+weights[i]] = optim[j] + energies[i];
                if(optim[j+weights[i]] > sol)
                    sol=optim[j+weights[i]];
            }
        }
    }
    out<<sol;
}
int main()
{
    citire();
    lets_see();
    return 0;
}