Card Eater

AtCoder
IDarc068_b
Time2000ms
Memory256MB
Difficulty
Snuke has decided to play a game using cards. He has a deck consisting of $N$ cards. On the $i$\-th card from the top, an integer $A_i$ is written. He will perform the operation described below zero or more times, so that the values written on the remaining cards will be pairwise distinct. Find the maximum possible number of remaining cards. Here, $N$ is odd, which guarantees that at least one card can be kept. Operation: Take out three arbitrary cards from the deck. Among those three cards, eat two: one with the largest value, and another with the smallest value. Then, return the remaining one card to the deck. ## Constraints * $3 ≦ N ≦ 10^{5}$ * $N$ is odd. * $1 ≦ A_i ≦ 10^{5}$ * $A_i$ is an integer. ## Input The input is given from Standard Input in the following format: $N$ $A_1$ $A_2$ $A_3$ ... $A_{N}$ [samples]
Samples
Input #1
5
1 2 1 3 7
Output #1
3

One optimal solution is to perform the operation once, taking out two cards with $1$ and one card with $2$. One card with $1$ and another with $2$ will be eaten, and the remaining card with $1$ will be returned to deck. Then, the values written on the remaining cards in the deck will be pairwise distinct: $1$, $3$ and $7$.
Input #2
15
1 3 5 2 1 3 2 8 8 6 2 6 11 1 1
Output #2
7
API Response (JSON)
{
  "problem": {
    "name": "Card Eater",
    "description": {
      "content": "Snuke has decided to play a game using cards. He has a deck consisting of $N$ cards. On the $i$\\-th card from the top, an integer $A_i$ is written. He will perform the operation described below zero o",
      "description_type": "Markdown"
    },
    "platform": "AtCoder",
    "limit": {
      "time_limit": 2000,
      "memory_limit": 262144
    },
    "difficulty": "None",
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "arc068_b"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "Snuke has decided to play a game using cards. He has a deck consisting of $N$ cards. On the $i$\\-th card from the top, an integer $A_i$ is written.\nHe will perform the operation described below zero o...",
      "is_translate": false,
      "language": "English"
    }
  ]
}
Full JSON Raw Segments