Chia kẹo

View as PDF

Submit solution

Points: 1.00 (partial)
Time limit: 1.0s
Memory limit: 1G
Input: stdin
Output: stdout

Problem source:
CHLOJ
Problem type
Allowed languages
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch

Alice có ~n~ gói kẹo, gói thứ ~i~ có ~a_{i}~ cái kẹo. Alice muốn chia các gói kẹo thành ~k~ phần có số kẹo bằng nhau.

Yêu cầu: Cho ~a_{1}, a_{2}, \ldots, a_{n}~ và số nguyên dương ~k~, hãy giúp Alice đưa ra một phương án chia kẹo.

Dũ liệu:

  • Dòng đầu tiên chứa hai số nguyên ~n, k(k \leq n)~;
  • Dòng tiếp theo chứa ~n~ số nguyên dương ~a_{1}, a_{2}, \ldots, a_{n}\left(a_{i} \leq 10^{9}\right)~;

Kết quả:

  • Ghi ra ~n~ số, trong đó, số thứ ~i(1 \leq i \leq n)~ bằng ~p_{i}~ cho biết gói thứ ~i~ được xếp vào phần ~p_{i}\left(1 \leq p_{i} \leq k\right)~. Nếu không tồn tại phương án chia kẹo ghi số ~-1~ .

Ví dụ:

Sample Input
5 3 
1 2 3 4 5
Sample Output
1 2 2 1 3

Ràng buộc:

  • Có ~25 \%~ số điểm của bài thỏa mãn: ~n \leq 10~;
  • Có ~25 \%~ số điểm khác của bài thỏa mãn: ~n \leq 20~;
  • Có ~20 \%~ số điểm khác của bài thỏa mãn: ~k=3 ; n \leq 100~ và ~a_{i} \leq 100~;
  • Có ~10 \%~ số điểm khác của bài thỏa mãn: ~k=3 ; n \leq 10^{6}~ và ~a_{i}=i~;
  • Có ~20 \%~ số điểm còn lại của bài thỏa mãn: ~k \leq 10 ; n \leq 10^{6}~ và ~a_{i}=i~.

Comments

Please read the guidelines before commenting.


There are no comments at the moment.