Gửi bài giải
Điểm:
0,50 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Input:
stdin
Output:
stdout
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch
Cho mảng n số nguyên a₁, a₂, ..., aₙ. Giá trị của một đoạn con liên tiếp được tính bằng số lượng cặp chỉ số phân biệt trong đoạn này chứa hai giá trị bằng nhau.
Hãy chia dãy đã cho thành m đoạn con khác rỗng gồm các phần tử liên tiếp, không giao nhau, mỗi phần tử nằm trong đúng một đoạn sao cho tổng giá trị của m đoạn con này là nhỏ nhất.
Input:
- Dòng đầu tiên chứa hai số nguyên dương n, m (2 ≤ n ≤ 10⁵, 2 ≤ m ≤ min(n, 20))
- Dòng thứ hai chứa n số nguyên a₁, a₂, ..., aₙ (1 ≤ aᵢ ≤ n)
Output:
- Một số nguyên duy nhất là kết quả tìm được
Example:
Input | Output |
---|---|
10 2 | 8 |
1 2 1 2 1 2 1 2 1 2 |
Bình luận