Cod sursa(job #1772248)

Utilizator MoonfireFilip Sebastian Moonfire Data 6 octombrie 2016 16:45:12
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
#include <iostream>
#include <stdio.h>
using namespace std;

int sums [10001];

int main() {
    freopen ("rucsac.in", "r", stdin);
    freopen ("rucsac.out", "w", stdout);
    int Feed, Limit, Maxi = 0;
    int Weight, Value;
    cin >> Feed >> Limit;

    for (int i = 1; i <= Feed; i++) {
        cin >> Weight >> Value;
        if (Value)
            for (int WGT = Limit - Weight; WGT >= 0; WGT--) {
                if (Value + sums [WGT] > sums [WGT + Weight]) {
                    sums [WGT + Weight] = Value + sums [WGT];
                    if (sums [WGT + Weight] > Maxi)
                        Maxi = sums [WGT + Weight];
                }
            }
    }

    cout << Maxi;
}