Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.*;
- import java.util.Scanner;
- public class Main {
- public static void main(String[] args) {
- Scanner in = new Scanner(System.in);
- int n = in.nextInt(), t = in.nextInt();
- int[] arr = new int[n + 1], arr_v = new int[t];
- for (int i = 0; i < t; i++) {
- arr_v[i] = in.nextInt();
- }
- for (int i = 1; i < n + 1; i++) {
- int min = 20000000;
- for (int j = t - 1; j >= 0; j--) {
- if (i - arr_v[j] >= 0) {
- min = Math.min(min, arr[i - arr_v[j]]);
- }
- }
- arr[i] = 1 + min;
- }
- if (arr[n] > 20000000) System.out.println(-1);
- else System.out.println(arr[n]);
- int e = n;
- for (int i = arr[n]; i > 0; i--) {
- for (int j = t - 1; j >= 0; j--) {
- if (e - arr_v[j] >= 0 && arr[e - arr_v[j]] == arr[e] - 1) {
- System.out.print(arr_v[j] + " ");
- e -= arr_v[j];
- }
- }
- }
- in.close();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement