Alchemist

AtCoder
IDabc138_c
Time2000ms
Memory256MB
Difficulty
You have a pot and $N$ ingredients. Each ingredient has a real number parameter called _value_, and the value of the $i$\-th ingredient $(1 \leq i \leq N)$ is $v_i$. When you put two ingredients in the pot, they will vanish and result in the formation of a new ingredient. The value of the new ingredient will be $(x + y) / 2$ where $x$ and $y$ are the values of the ingredients consumed, and you can put this ingredient again in the pot. After you compose ingredients in this way $N-1$ times, you will end up with one ingredient. Find the maximum possible value of this ingredient. ## Constraints * $2 \leq N \leq 50$ * $1 \leq v_i \leq 1000$ * All values in input are integers. ## Input Input is given from Standard Input in the following format: $N$ $v_1$ $v_2$ $\ldots$ $v_N$ [samples]
Samples
Input #1
2
3 4
Output #1
3.5

If you start with two ingredients, the only choice is to put both of them in the pot. The value of the ingredient resulting from the ingredients of values $3$ and $4$ is $(3 + 4) / 2 = 3.5$.
Printing `3.50001`, `3.49999`, and so on will also be accepted.
Input #2
3
500 300 200
Output #2
375

You start with three ingredients this time, and you can choose what to use in the first composition. There are three possible choices:

*   Use the ingredients of values $500$ and $300$ to produce an ingredient of value $(500 + 300) / 2 = 400$. The next composition will use this ingredient and the ingredient of value $200$, resulting in an ingredient of value $(400 + 200) / 2 = 300$.
*   Use the ingredients of values $500$ and $200$ to produce an ingredient of value $(500 + 200) / 2 = 350$. The next composition will use this ingredient and the ingredient of value $300$, resulting in an ingredient of value $(350 + 300) / 2 = 325$.
*   Use the ingredients of values $300$ and $200$ to produce an ingredient of value $(300 + 200) / 2 = 250$. The next composition will use this ingredient and the ingredient of value $500$, resulting in an ingredient of value $(250 + 500) / 2 = 375$.

Thus, the maximum possible value of the last ingredient remaining is $375$.
Printing `375.0` and so on will also be accepted.
Input #3
5
138 138 138 138 138
Output #3
138
API Response (JSON)
{
  "problem": {
    "name": "Alchemist",
    "description": {
      "content": "You have a pot and $N$ ingredients. Each ingredient has a real number parameter called _value_, and the value of the $i$\\-th ingredient $(1 \\leq i \\leq N)$ is $v_i$. When you put two ingredients in th",
      "description_type": "Markdown"
    },
    "platform": "AtCoder",
    "limit": {
      "time_limit": 2000,
      "memory_limit": 262144
    },
    "difficulty": "None",
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "abc138_c"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "You have a pot and $N$ ingredients. Each ingredient has a real number parameter called _value_, and the value of the $i$\\-th ingredient $(1 \\leq i \\leq N)$ is $v_i$.\nWhen you put two ingredients in th...",
      "is_translate": false,
      "language": "English"
    }
  ]
}
Full JSON Raw Segments