Cod sursa(job #2547178)

Utilizator DooMeDCristian Alexutan DooMeD Data 15 februarie 2020 09:21:04
Problema Problema rucsacului Scor 65
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.55 kb
#include <iostream>
#include <fstream>


#define NMAX 10010
#define GMAX 5010

using namespace std;
ifstream f ("rucsac.in");
ofstream g ("rucsac.out");

int w[NMAX],p[NMAX],i,n,j,a[GMAX],gr,mx;

int main()
{
    f >> n >> gr;
    for(i=1; i<=n; i++) f >> w[i] >> p[i];
    for(i=1; i<=n; i++) {
        for(j=gr-w[i]; j>=0; j--) {
            if(a[j])
                a[j+w[i]]=max(a[j+w[i]],a[j]+p[i]);
        }
        a[w[i]]=max(a[w[i]],p[i]);
    }
    for(i=gr; i>=0; i--)
        mx=max(a[i],mx);
    g << mx;
    return 0;
}