Advertisement
vov44k

Untitled

Oct 9th, 2022
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.10 KB | None | 0 0
  1. import java.io.*;
  2. import java.util.Scanner;
  3.  
  4. public class Main {
  5.  
  6.     public static void main(String[] args) {
  7.         Scanner in = new Scanner(System.in);
  8.  
  9.         int n = in.nextInt(), t = in.nextInt();
  10.         int[] arr = new int[n + 1], arr_v = new int[t];
  11.  
  12.         for (int i = 0; i < t; i++) {
  13.             arr_v[i] = in.nextInt();
  14.         }
  15.  
  16.         for (int i = 1; i < n + 1; i++) {
  17.             int min = 20000000;
  18.             for (int j = t - 1; j >= 0; j--) {
  19.                 if (i - arr_v[j] >= 0) {
  20.                     min = Math.min(min, arr[i - arr_v[j]]);
  21.                 }
  22.             }
  23.             arr[i] = 1 + min;
  24.         }
  25.  
  26.         if (arr[n] > 20000000) System.out.println(-1);
  27.         else System.out.println(arr[n]);
  28.  
  29.  
  30.         int e = n;
  31.         for (int i = arr[n]; i > 0; i--) {
  32.             for (int j = t - 1; j >= 0; j--) {
  33.                 if (e - arr_v[j] >= 0 && arr[e - arr_v[j]] == arr[e] - 1) {
  34.                     System.out.print(arr_v[j] + " ");
  35.                     e -= arr_v[j];
  36.                 }
  37.             }
  38.         }
  39.  
  40.         in.close();
  41.     }
  42. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement