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,
cũng có thể dẫn đi chơi giáng sinh bù.Hiện tại,
đang đứng trước một trung tâm mua sắm lớn, và đã mua một vài món đồ với tổng trị giá là ~N~ đồng.Tuy nhiên,
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~.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 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
đã mua.Dòng thứ hai chứa số nguyên dương ~K~ (~1 \le K \le 10~) là số mệnh giá mà
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à 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à 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