Cod sursa(job #927739)

Utilizator Vally77FMI Calinescu Valentin Gelu Vally77 Data 26 martie 2013 00:03:48
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream ka("energii.in");
ofstream ki("energii.out");
int n,g,d[2][5001],e[1001],w[1001];
bool gasit=false;
int maxim(int t,int k)
{
    if(t>=k)
    return t;
    return k;
}
int main()
{
    ka>>n>>g;
    for(int i=1;i<=n;i++)
    ka>>e[i]>>w[i];
    for(int i=1;i<=n;i++)
    {
        for(int cw=1;cw<=5001;cw++)
        {
            d[1][cw]=0;
            if(w[i]<=cw)
            {
                d[1][cw]=maxim(d[1][cw],d[0][cw-w[i]]+e[i]);
            }
            if(d[1][cw]>=g)
            {ki<<cw;
            gasit=true;
            break;}
        }
        if(gasit)
        break;
        for(int cw=1;cw<=g;cw++)
        {
            d[0][cw]=d[1][cw];
        }
    }
}