#1476. SWEETS - Chia kẹo

Bộ nhớ: 256 MiB Thời gian: 1000 ms Nhập/xuất từ luồng chuẩn
Kiểu bài: Thông thường Kiểu chấm: Trình chấm ngoài
Đưa lên bởi: Trùm CUỐI

Đề bài

Alice có 𝑛 gói kẹo, gói thứ 𝑖 𝑎_𝑖 cái kẹo. Alice muốn chia các gói kẹo thành 𝑘 phần có số kẹo bằng nhau.

Yêu cầu: Cho 𝑎_1, 𝑎_2, \ldots, 𝑎_𝑛 và số nguyên dương 𝑘 , hãy giúp Alice đưa ra một phương án chia kẹo.

Dữ liệu vào:

  • Dòng đầu tiên chứa hai số nguyên 𝑛, 𝑘\ (𝑘 ≤ 𝑛) ;
  • Dòng tiếp theo chứa 𝑛 số nguyên dương 𝑎_1, 𝑎_2, … , 𝑎_𝑛\ (𝑎_𝑖 ≤ 10^9) ;

Các số trên cùng một dòng cách nhau bởi dấu cách.

Dữ liệu ra:

  • Ghi ra thiết bị ra chuẩn gồm 𝑛 số, trong đó, số thứ 𝑖\ (1 ≤ 𝑖 ≤ 𝑛) bằng 𝑝_𝑖 cho biết gói thứ 𝑖 được xếp vào phần p_𝑖\ (1 ≤ 𝑝_𝑖 ≤ 𝑘) . Nếu không tồn tại phương án chia kẹo ghi số −1 .

Ví dụ:

Dữ liệu vào:

5 3
1 2 3 4 5

Dữ liệu ra:

1 2 2 1 3

Giới hạn:

  • 25\% số điểm của bài thỏa mãn: 𝑛 ≤ 10 ;
  • 25\% số điểm khác của bài thỏa mãn: 𝑛 ≤ 20 ;
  • 20\% số điểm khác của bài thỏa mãn: 𝑘 = 3; 𝑛 ≤ 100 𝑎_𝑖 ≤ 100 ;
  • 10\% số điểm khác của bài thỏa mãn: 𝑘 = 3; 𝑛 ≤ 10^6 𝑎_𝑖 = 𝑖 ;
  • 20\% số điểm còn lại của bài thỏa mãn: 𝑘 ≤ 10; 𝑛 ≤ 10^6 𝑎_𝑖 = 𝑖 .