Cod sursa(job #1719787)

Utilizator Coroian_DavidCoroian David Coroian_David Data 20 iunie 2016 12:48:14
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.92 kb
#include <algorithm>

#include <climits>

#include <cstdio>

using namespace std;

FILE *f, *g;

bool cmp(float a, float b)
{
    if(a > b)
        return true;

    return false;
}

int n,  i, c[5002], gr[5002], gMax;

int cMax[10001];

int maxCost = 0, s;

int j,k ;

int main()
{
    f = fopen("rucsac.in", "r");

    fscanf(f, "%d%d", &n, &gMax);

    for(i = 1; i <= n ;i ++)
        fscanf(f, "%d%d", & gr[i], & c[i]);

    fclose(f);



    cMax[0] = 0;

    for(i = 1; i <= n; i ++)
        for(j = gMax - gr[i]; j >= 0; j --)
        {
            if(cMax[j + gr[i]] < cMax[j] + c[i])
            {
                cMax[j + gr[i]] = cMax[j] + c[i];

                if(cMax[j + gr[i]] > maxCost)
                    maxCost = cMax[j + gr[i]];
            }
        }





    g = fopen("rucsac.out", "w");

    fprintf(g, "%d", maxCost);

    fclose(g);

    return 0;
}