duong3982oj Contest 03 - Giáng sinh

Xem dạng PDF

Gửi bài giải


Điểm: 30,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 1G
Input: stdin
Output: stdout

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Output Only, Pascal, PyPy, Python, Scratch, TEXT

Sau kỳ thi VOI căng thẳng với bài ~ship~ cho điểm và ~5~ bài đau tay, cuối cùng, duong3982 cũng có thể dẫn noodles0428 đi chơi giáng sinh bù.

Hiện tại, duong3982 đang đứng trước một trung tâm mua sắm lớn, và noodles0428 đã mua một vài món đồ với tổng trị giá là ~N~ đồng.

Tuy nhiên, duong3982 chỉ mang theo ~K~ loại xu, bao gồm ~2003^{2024}~ đồng xu mệnh giá ~a_1~, ~2003^{2024}~ đồng xu mệnh giá ~a_2~, ..., ~2003^{2024}~ đồng xu mệnh giá ~a_K~.

duong3982 tự hỏi, làm thế nào để trả đúng ~N~ đồng, mà dùng ít đồng xu nhất? Các bạn hãy giúp duong3982 nhé!

INPUT

Dòng đầu tiên chứa số nguyên dương ~N~ (~1 \le N \le 10^{18}~) là tổng số tiền noodles0428 đã mua.

Dòng thứ hai chứa số nguyên dương ~K~ (~1 \le K \le 10~) là số mệnh giá mà duong3982 có.

Dòng thứ ba chứa ~K~ số nguyên dương ~a_1, a_2, ..., a_K~ (~1 \le a_1 \le a_2 \le ... \le a_K \le 30~) là giá trị của mỗi đồng xu.

OUTPUT

Nếu không có cách nào để trả, in ra số ~-1~.

Ngược lại:

  • Dòng đầu tiên chứa số nguyên dương ~X~ là số lượng đồng xu mà duong3982 cần để trả.
  • Dòng tiếp theo chứa ~K~ số nguyên dương, là số lượng đồng xu của mỗi loại mà duong3982 cần.

Nếu có nhiều cách, hãy in ra phương án bất kỳ.

Nếu chỉ in ra đúng số đồng xu tối thiểu, bạn sẽ được ~50 \%~ số điểm của test đó.

Lưu ý, bạn vẫn cần in đủ hai dòng, nếu không, bạn có thể gặp lỗi Presentation Error.

SAMPLE INPUT 1

6 
3
1 2 3

SAMPLE OUTPUT 1

2
0 0 2

SAMPLE INPUT 2

10 
3
3 5 7

SAMPLE OUTPUT 2

2
1 0 1

Lưu ý: Output:

2
0 2 0

cũng là một output đúng.

SUBTASKS

Subtask Điểm Ràng buộc
1 ~5~ ~K = 1~.
2 ~10~ ~K = 2~.
3 ~15~ ~K = 3~, ~a_1 = 3~, ~a_2 = 5~, ~a_3 = 7~.
4 ~30~ ~N \le 10^5~.
5 ~40~ Không có ràng buộc gì thêm.

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.