Biến đổi dãy số
Đề bài
Mô tả
Dãy số là dãy số nguyên có phần tử ( nguyên), có phần tử bên trái và phần tử bên phải, sao cho có cách ghép phần tử bên trái với phần tử bên phải tạo thành cặp mà mỗi cặp là hai số giống nhau. Ví dụ dãy số và dãy số là các dãy số , nhưng dãy số không phải là dãy số .
Vinh có dãy số nguyên , chẵn, có số đầu tiên ở tập số bên trái và số tiếp theo ở tập số bên phải . Để biến đổi dãy số trên thành dãy số , Vinh có thể thực hiện số lần biến đổi không hạn chế. Mỗi lần biến đổi được thực hiện bằng một trong ba cách sau:
- Thay đổi giá trị thành giá trị ;
- Di chuyển một số từ tập số bên trái sang tập số bên phải và giữ nguyên giá trị;
- Di chuyển một số từ tập số bên phải sang tập số bên trái và giữ nguyên giá trị.
Ví dụ: Vinh có dãy số với và thì số lần biến đổi ít nhất là : trong đó số ở tập số bên phải di chuyển về tập số bên trái, thay đổi hai số ở tập số bên trái thành hai số (hoặc thay đổi hai số ở tập số bên phải thành hai số ).
Yêu cầu: Tính số lần biến đổi ít nhất để dãy số trên thành dãy số .
Dữ liệu vào
- Dòng đầu tiên có một số là số lượng test ;
- Mỗi test có cấu trúc như sau:
- Dòng đầu ghi ba số nguyên trong đó , ;
- Dòng tiếp theo ghi số .
Các số trên cùng một dòng cách nhau bởi dấu cách.
Dữ liệu ra
Gồm dòng, mỗi dòng ghi số lần biến đổi tương ứng với mỗi test theo yêu cầu bài toán.
Ràng buộc
- , chẵn
- ,
Subtasks
- Subtask 1 ( số điểm): .
- Subtask 2 ( số điểm): .
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 3 6 3 3 1 2 3 2 2 2 6 2 4 1 1 2 2 2 2 6 5 1 6 5 4 3 2 1 |
2 3 5 |
Test 1: thay đổi hai số và ở tập bên trái thành . Test 2: như ví dụ trong đề. Test 3: không có cặp nào sẵn, cần chuyển số sang bên phải và thay đổi giá trị số. |
| 3 4 2 2 1 1 2 2 4 2 2 1 2 2 1 6 3 3 1 1 2 3 3 3 |
2 0 3 |
Ví dụ thêm (không có trong đề gốc). Test 1: dãy cần thay đổi hai số. Test 2: đã là dãy . Test 3: không có số nào ghép được sẵn và nên không có lợi khi di chuyển, phải thay đổi số. |
Bình luận