Cod sursa(job #2286383)

Utilizator OvidiuDestulDeOkNicoleanu Ovidiu OvidiuDestulDeOk Data 20 noiembrie 2018 10:26:41
Problema Problema rucsacului Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.51 kb
#include <fstream>
#define GMAX 10001
#define NMAX 5001
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int n,G,c[NMAX],g[NMAX],cmax[GMAX];
void read();
void pd();
int main(){
    read();
    pd();
    fout<<cmax[G];
    fout.close();
    return 0;
}
void read(){int i;
    fin>>n>>G;
    for(i=1;i<=n;i++)
        fin>>g[i]>>c[i];
}

void pd(){int i, x;
    for(i=1;i<=n;i++)
        for(x=G;x>=1;x--)if(x>=g[i])if(cmax[x]<c[i]+cmax[x-g[i]])cmax[x]=c[i]+cmax[x-g[i]];
}