Submit solution
Points:
1.00 (partial)
Time limit:
1.0s
Memory limit:
1G
Input:
stdin
Output:
stdout
Problem source:
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