Cod sursa(job #3345040)

Utilizator leoebunLeonard Neacsa leoebun Data 7 martie 2026 18:23:08
Problema Problema rucsacului Scor 0
Compilator java Status done
Runda Arhiva educationala Marime 1.17 kb
package Rucsac;

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.StringTokenizer;

public class Main {
    static void main(String[] args) throws IOException {
        BufferedReader in = new BufferedReader(new FileReader("rucsac.in"));
        StringTokenizer st = new StringTokenizer(in.readLine());

        int n = Integer.parseInt(st.nextToken()), maxWeight = Integer.parseInt(st.nextToken());

        int[][] dp = new int[n + 1][maxWeight + 1];

        for (int i = 1; i <= n; i++) {
            st = new StringTokenizer(in.readLine());

            int weight = Integer.parseInt(st.nextToken());
            int price = Integer.parseInt(st.nextToken());

            for (int j = 0; j <= maxWeight; j++) {
                if (j < weight) {
                    dp[i][j] = dp[i - 1][j];
                } else {
                    dp[i][j] = Math.max(dp[i - 1][j - weight] + price, dp [i - 1][j]);
                }
            }
        }

        
        
       in.close();
       FileWriter out = new FileWriter("rucsac.out");

       out.write(dp[n][maxWeight] + "\n");
       out.close();
    }
}