Cod sursa(job #2137269)

Utilizator AndreiG23Ghiurcuta Andrei AndreiG23 Data 20 februarie 2018 18:14:47
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <iostream>
#include <fstream>
using namespace std;
#define maxn 5001
#define maxg 10001
ifstream fin("energii.in");
ofstream fout("energii.out");
int w[maxn], p[maxn];
int Optim[maxg];

int main()
{


    int n, g;
    fin>>n>>g;

    for (int i=1;i<=n;i++)
    {
        fin>>w[i]>>p[i];
    }

    Optim[0]=0;
    int sol=0;

    for(int i=1;i<=n;i++)
        for(int j=g-w[i];j>=0;j--)
        {
            if(Optim[j+w[i]]<Optim[j]+p[i])
            {
                Optim[j+w[i]] = Optim[j] + p[i];
                if( Optim[j+w[i]]>sol)
                    sol=Optim[j+w[i]];
            }
        }
    fout<<sol;
    return 0;
}