Điều hướng chính

Ngôn ngữ

Phím tắt

/
Chuyển đến ô tìm bài
g p
Đi đến bài tập
g c
Đi đến kỳ thi
g u
Đi đến người dùng
?
Mở trợ giúp phím tắt

Đa dạng

Dễ

  • 100 Điểm
  • 0% Tỉ lệ AC
  • 0 Số AC
  • 256M Bộ nhớ giới hạn
  • 1.0s Giới hạn thời gian

Một công ty khai thác khoáng sản sở hữu một dãy \(n\) khu vực, được đánh số từ \(1\) đến \(n\). Mỗi khu vực thứ \(i\) có một loại khoáng sản được đặc trưng bởi mã số \(a_i\). Ban giám đốc muốn chia dãy khu vực này thành \(k\) đoạn liên tiếp không trống để giao cho \(k\) đội khai thác.

Mức độ "đa dạng" của một đoạn khu vực được định nghĩa là số lượng cặp khu vực có cùng loại khoáng sản trong đoạn đó. Mục tiêu là tìm cách chia để tổng mức độ "đa dạng" của tất cả \(k\) đoạn là nhỏ nhất.

Input

Dữ liệu vào được cung cấp từ đầu vào chuẩn theo định dạng sau:

  • Dòng đầu tiên chứa hai số nguyên \(n\) và \(k\) (\(2 \le n \le 10^5\), \(2 \le k \le \min(n, 20)\)).
  • Dòng thứ hai chứa \(n\) số nguyên \(a_1, a_2, \ldots, a_n\) (\(1 \le a_i \le n\)), là mã số loại khoáng sản tại mỗi khu vực.

Output

In ra một số nguyên duy nhất là tổng mức độ đa dạng tối thiểu.

Example

Test 1

Input
9 3
1 2 2 3 2 1 1 2 3
Output
1

Scoring

  • Subtask \(1\) (\(25\%\) số điểm) : \(n \leq 20\).
  • Subtask \(2\) (\(25\%\) số điểm) : \(n \leq 200\).
  • Subtask \(3\) (\(25\%\) số điểm) : \(n \leq 2000\).
  • Subtask \(4\) (\(25\%\) số điểm) : không có ràng buộc nào thêm.

Bình luận

Chưa có bình luận nào.