Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.*;
- public class Main {
- private static int aktualnyVysledok;
- public static void main(String[] args) {
- Scanner s = new Scanner(System.in);
- int pocetVstupov = s.nextInt();
- int[] vystupy = new int[pocetVstupov];
- for (int i = 0; i < pocetVstupov; i++) {
- aktualnyVysledok = 0;
- int pocetVeci = s.nextInt();
- int kapacitaBatoha = s.nextInt();
- int[] vahyVeci = new int[pocetVeci];
- int[] hodnotyVeci = new int[pocetVeci];
- boolean[] beriemVec = new boolean[pocetVeci];
- for (int j = 0; j < pocetVeci; j++)
- vahyVeci[j] = s.nextInt();
- for (int j = 0; j < pocetVeci; j++)
- hodnotyVeci[j] = s.nextInt();
- generuj(0, vahyVeci, hodnotyVeci, beriemVec, kapacitaBatoha);
- vystupy[i] = aktualnyVysledok;
- }
- for (int i = 0; i < vystupy.length; i++)
- System.out.println(vystupy[i]);
- s.close();
- }
- private static void generuj(int i, int[] vahyVeci, int[] hodnotyVeci,
- boolean[] beriemVec, int kapacitaBatoha) {
- if (beriemVec.length <= i) {
- skontroluj(vahyVeci, beriemVec, kapacitaBatoha);
- return;
- }
- beriemVec[i] = true;
- generuj(i + 1, hodnotyVeci, hodnotyVeci, beriemVec, kapacitaBatoha);
- beriemVec[i] = false;
- generuj(i + 1, hodnotyVeci, hodnotyVeci, beriemVec, kapacitaBatoha);
- }
- private static void skontroluj(int[] vahyVeci, boolean[] beriemVec,
- int kapacitaBatoha) {
- int sucetVah = 0;
- for (int i = 0; i < vahyVeci.length; i++) {
- if (beriemVec[i])
- sucetVah += vahyVeci[i];
- }
- if (kapacitaBatoha <= sucetVah)
- aktualnyVysledok = sucetVah;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement