Combine to Make Non-decreasing

AtCoder
IDarc207_c
Time3000ms
Memory256MB
Difficulty
You are given an integer sequence of length $N$, $A=(A_1, A_2, \cdots, A_N)$. Snuke wants to make $A$ a non-decreasing sequence. He can perform the following operation zero or more times. * Choose two adjacent elements of $A$ * Remove these two elements and insert the bitwise $\mathrm{OR}$ of these two values at the original position Find the maximum possible value of the length of $A$ when $A$ becomes a non-decreasing sequence. What is bitwise $\mathrm{OR}$?The bitwise $\mathrm{OR}$ of non-negative integers $A$ and $B$, $A\ \mathrm{OR}\ B$, is defined as follows. * When $A\ \mathrm{OR}\ B$ is written in binary, the digit in the $2^k$ place ($k \geq 0$) is $1$ if at least one of the digits in the $2^k$ place of $A$ and $B$ written in binary is $1$, and $0$ otherwise. For example, $3\ \mathrm{OR}\ 5 = 7$ (in binary: $011\ \mathrm{OR}\ 101 = 111$). What is a non-decreasing sequence?A sequence $a=(a_1,a_2, \cdots, a_n)$ is a non-decreasing sequence if and only if $a_1 \le a_2 \le \ldots \le a_n$ holds. ## Constraints * $1 \le N \le 2 \times 10^5$ * $1 \le A_i <2^{30}$ * All input values are integers. ## Input The input is given from Standard Input in the following format: $N$ $A_1$ $A_2$ $\ldots$ $A_N$ [samples]
Samples
Input #1
3
3 1 2
Output #1
2

*   If the $1$\-st and $2$\-nd elements are chosen in the first operation, $A=(3,2)$ and $A$ is not a non-decreasing sequence.
*   If the $2$\-nd and $3$\-rd elements are chosen in the first operation, $A=(3,3)$ and $A$ is a non-decreasing sequence.
Input #2
4
4 1 2 3
Output #2
1
Input #3
20
105327673 847116534 928167271 478716741 244808645 744985167 772409400 950055714 32441819 24475691 74630537 632066724 170250355 937572655 791196964 469960355 264764288 1061830134 183233398 643628719
Output #3
7
API Response (JSON)
{
  "problem": {
    "name": "Combine to Make Non-decreasing",
    "description": {
      "content": "You are given an integer sequence of length $N$, $A=(A_1, A_2, \\cdots, A_N)$. Snuke wants to make $A$ a non-decreasing sequence. He can perform the following operation zero or more times. *   Choose ",
      "description_type": "Markdown"
    },
    "platform": "AtCoder",
    "limit": {
      "time_limit": 3000,
      "memory_limit": 262144
    },
    "difficulty": "None",
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "arc207_c"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "You are given an integer sequence of length $N$, $A=(A_1, A_2, \\cdots, A_N)$. Snuke wants to make $A$ a non-decreasing sequence.\nHe can perform the following operation zero or more times.\n\n*   Choose ...",
      "is_translate": false,
      "language": "English"
    }
  ]
}
Full JSON Raw Segments