{"code":"floodfill","name":"Tô màu","description":"Trên một đường thẳng cho $n$ hình vuông xếp thành một hàng đánh số 1, 2, ..., $n$ từ trái qua phải. Hình vuông thứ $i$ có màu là $c_i$.\r\n\r\nTa nói rằng một dãy hình vuông từ vị trí $i$ đến vị trí $j$ là một mảng màu nếu như $c_i=c_j$ và $c_i=c_k$ với mọi $i<k<j$. Nói cách khác tất các các hình vuông từ vị trí $i$ đến vị trí $j$ là cùng một màu.\r\n\r\nMỗi thao tác bạn có thể tô lại màu cho các hình vuông trong một mảng màu thành màu mới.\r\nHỏi rằng số thao tác ít nhất cần thực hiện để đưa tất cả $n$ hình vuông về cùng một màu  là bao nhiêu\r\n\r\n<h4>Input</h4>\r\n\r\n- Dòng đầu tiên ghi số nguyên dương $n$ ($n\\le 5000$) - số hình vuông\r\n- Dòng thứ hai ghi $n$ số nguyên dương $c_1,c_2,…,c_n$ ($1\\le  c_i\\le 5000$) - màu ban đầu của các hình vuông.\r\n\r\n<h4>Output</h4>\r\n\r\n- In ra một số nguyên là số thao tác nhỏ nhất cần thực hiện\r\n\r\n<h4>Example</h4>\r\n\r\n!!! question \"Test 1\"\r\n\r\n    ???+ \"Input\"\r\n\r\n        ```sample\r\n        4\r\n        5 2 2 1\t\r\n        ```\r\n\r\n    ???+ success \"Output\"\r\n\r\n        ```sample\r\n        2\r\n        ```\r\n        \r\n    ??? warning \"Note\"\r\n\r\n        Trong ví dụ thứ nhất biển đổi: $[5, 2, 2, 1] \\rightarrow [5, 5, 5, 1] \\rightarrow [1, 1, 1, 1]$\r\n\r\n!!! question \"Test 2\"\r\n\r\n    ???+ \"Input\"\r\n\r\n        ```sample\r\n        8\r\n        4 5 2 2 1 3 5 5\t\r\n        ```\r\n\r\n    ???+ success \"Output\"\r\n\r\n        ```sample\r\n        4\r\n        ```","points":1900.0,"partial":true,"time_limit":1.0,"memory_limit":262144,"short_circuit":false,"allowed_languages":[3,4,34,36,37,5,6,11,12,14,28,2,38,39,9,18,17,29,23,27,35,25,26,10,7,19,32,1,8,15,16,24,20,33,13,41,21,40],"is_public":true,"is_manually_managed":false,"permissions":{"can_edit":false}}