Cod sursa(job #2120055)

Utilizator CozehNita Horia Teodor Cozeh Data 1 februarie 2018 20:56:53
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include <fstream>
#define nmax 10010
#define nmax2 5010
using namespace std;

ifstream fin("rucsac.in");
ofstream fout("rucsac.out");

int g[nmax2],p[nmax2];
int d[nmax];

int main()
{
    int n,gr,i,j;
    fin>>n>>gr;
    for(i = 1; i <= n; i++){
        fin>>g[i];
        fin>>p[i];
    }
    int sol = 0;
    for(i = 1; i <= n; i++){
        for(j = gr - g[i]; j >= 0; j--){
            if(d[j+g[i]] < d[j] + p[i]){
                d[j+g[i]] = d[j] + p[i];
                if(d[j+g[i]] > sol) sol = d[j+g[i]];
            }
        }
    }
    fout<<sol;
}