Swap and Erase

AtCoder
IDarc195_d
Time2000ms
Memory256MB
Difficulty
There is a sequence $A = (A_1,\ldots,A_N)$. You can perform the following two types of operations any number of times in any order: * Let $K$ be the length of $A$ just before the operation. Choose an integer $i$ such that $1 \leq i \leq K-1$, and swap the $i$\-th and $(i+1)$\-th elements of $A$. * Let $K$ be the length of $A$ just before the operation. Choose an integer $i$ such that $1 \leq i \leq K$ and all the values from the $1$\-st through the $i$\-th elements of $A$ are equal, and delete all the elements from the $1$\-st through the $i$\-th of $A$. Find the minimum total number of operations required to make $A$ an empty sequence. You are given $T$ test cases; solve each of them. ## Constraints * $1\leq T\leq 10^5$ * $2 \leq N \leq 2 \times 10^5$ * $1 \leq A_i \leq N$ * The sum of $N$ over all test cases is at most $2\times 10^5$. * All input values are integers. ## Input The input is given from Standard Input in the following format: $T$ $\mathrm{case}_1$ $\mathrm{case}_2$ $\vdots$ $\mathrm{case}_T$ Each case is given in the following format: $N$ $A_1$ $A_2$ $\ldots$ $A_N$ [samples]
Samples
Input #1
3
5
1 1 2 1 2
4
4 2 1 3
11
1 2 1 2 1 2 1 2 1 2 1
Output #1
3
4
8

For the 1st test case, $A$ can be made empty by the following three operations:

*   Swap the 3rd and 4th elements of $A$. Now, $A$ is $(1,1,1,2,2)$.
*   Delete the 1st through 3rd elements of $A$. Now, $A$ is $(2,2)$.
*   Delete the 1st through 2nd elements of $A$. Now, $A$ is an empty sequence.

For the 2nd test case, $A$ can be made empty by deleting the 1st element four times. Also, it is impossible to make $A$ empty in three or fewer operations.
API Response (JSON)
{
  "problem": {
    "name": "Swap and Erase",
    "description": {
      "content": "There is a sequence $A = (A_1,\\ldots,A_N)$. You can perform the following two types of operations any number of times in any order: *   Let $K$ be the length of $A$ just before the operation. Choose ",
      "description_type": "Markdown"
    },
    "platform": "AtCoder",
    "limit": {
      "time_limit": 2000,
      "memory_limit": 262144
    },
    "difficulty": "None",
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "arc195_d"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "There is a sequence $A = (A_1,\\ldots,A_N)$. You can perform the following two types of operations any number of times in any order:\n\n*   Let $K$ be the length of $A$ just before the operation. Choose ...",
      "is_translate": false,
      "language": "English"
    }
  ]
}
Full JSON Raw Segments