Chia Nhóm

Xem dạng PDF

Gửi bài giải

Điểm: 100,00
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M

Tác giả:
Dạng bài

Cho một dãy ~A~ gồm ~n~ số nguyên. Hãy tìm cách chia dãy thành ~k~ nhóm sao cho tổng các phần tử trong mỗi nhóm bằng nhau. Mỗi nhóm phải chứa ít nhất một phần tử, và mỗi phần tử thuộc đúng một nhóm.

Dữ liệu vào

  • Dòng đầu tiên chứa hai số nguyên ~n~ và ~k~.
  • Dòng thứ hai chứa ~n~ số nguyên ~A_1, A_2, \ldots, A_n~.

Kết quả

In ra ~n~ số nguyên, trong đó số thứ ~i~ là chỉ số nhóm (một số từ ~1~ đến ~k~) của phần tử thứ ~i~. Nếu có nhiều đáp án, in ra một đáp án bất kỳ.

Nếu không có cách chia nào thỏa mãn, in ra một số ~0~ duy nhất.

Ví dụ

Đầu vào:

5 3
1 4 6 9 10

Đầu ra:

1 2 2 1 3

Giải thích: Tổng của cả dãy là ~30~, nên mỗi nhóm phải có tổng ~10~. Nhóm ~1~ gồm ~A_1 + A_4 = 1 + 9 = 10~, nhóm ~2~ gồm ~A_2 + A_3 = 4 + 6 = 10~, nhóm ~3~ gồm ~A_5 = 10~. Các đáp án 1 3 3 1 2 hay 3 1 1 3 2 cũng được chấp nhận.

Giới hạn

  • ~2 \le k < n \le 10~
  • ~1 \le A_i \le 100~

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.