Cod sursa(job #1657886)

Utilizator ciprianprohozescuProhozescu Ciprian ciprianprohozescu Data 20 martie 2016 21:13:02
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include <fstream>
#include <cstring>

using namespace std;

FILE *fin, *fout;

int n, g, pi, gi, v[10010], ante, now = 1, sol;

int main()
{
    int i, j;
    fin = fopen("rucsac.in", "r");
    fout = fopen("rucsac.out", "w");
    fscanf(fin, "%d%d", &n, &g);
    v[0] = 0;
    for (i = 1; i <= n; i++)
    {
        fscanf(fin, "%d%d", &gi, &pi);
        for (j = g - gi; j >= 0; j--)
        {
            if (v[j + gi] < v[j] + pi)
            {
                v[j + gi] = v[j] + pi;
                if (v[j + gi] > sol)
                    sol = v[j + gi];
            }
        }
    }
    fprintf(fout, "%d\n", sol);
    fclose(fout);
    return 0;
}