Điểm:
1500
Thời gian:
1.0s
Bộ nhớ:
256M
Input:
bàn phím
Output:
màn hình
Bạn được cho một mảng \(a\) gồm \(n\) (\(n\) chia hết cho \(3\)) phần tử. Bạn được thực hiện vô số thao tác sau: tăng hoặc giảm \(1\) phần tử bất kỳ lên hoặc xuống \(1\) đơn vị. Gọi \(c_{0}, c_{1}\) và \(c_{2}\) lần lượt là số lượng các phần tử trong mảng \(a\) khi chia lấy dư cho 3 có số dư bằng \(0, 1\) và \(2\). Một mảng được gọi là cân đối khi \(c_{0} = c_{1} = c_{2}\).
Yêu cầu: bạn hãy tìm cách cân đối mảng \(a\) ban đầu bằng cách thực hiện \(0\) hoặc nhiều thao tác và in ra số thao tác ít nhất để cân đối mảng \(a\).
Input
- Dòng thứ nhất chứa hai số nguyên dương \(n\) \((1 \leq n \leq 5 \times 10^{5}, n \mod 3 = 0)\).
- Dòng thứ hai chứa \(n\) số nguyên \(a_{1}, a_{2}, \ldots, a_{n}\) \((0 \leq a_{i} \leq 10^{9})\).
Output
- Gồm một dòng duy nhất chứa một số nguyên là số thao tác ít nhất để cân đối mảng.
Scoring
- Subtask \(1\) (\(10\%\) số điểm): \(n = 3\).
- Subtask \(2\) (\(40\%\) số điểm): \(a_{i} \leq 2\).
- Subtask \(3\) (\(50\%\) số điểm): không có ràng buộc gì thêm.
Example
Test 1
Input
6
5 3 8 9 11 34
Output
1
Note
Ta giảm phần tử đầu tiên đi một đơn vị, khi đó dãy sẽ trở thành \(4, 3, 8, 9, 11, 34\)
Bình luận