Divide by 2 or 3

AtCoder
IDabc276_d
Time2000ms
Memory256MB
Difficulty
You are given a sequence of positive integers: $A=(a_1,a_2,\ldots,a_N)$. You can choose and perform one of the following operations any number of times, possibly zero. * Choose an integer $i$ such that $1 \leq i \leq N$ and $a_i$ is a multiple of $2$, and replace $a_i$ with $\frac{a_i}{2}$. * Choose an integer $i$ such that $1 \leq i \leq N$ and $a_i$ is a multiple of $3$, and replace $a_i$ with $\frac{a_i}{3}$. Your objective is to make $A$ satisfy $a_1=a_2=\ldots=a_N$. Find the minimum total number of times you need to perform an operation to achieve the objective. If there is no way to achieve the objective, print `-1` instead. ## Constraints * $2 \leq N \leq 1000$ * $1 \leq a_i \leq 10^9$ * All values in the input 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
1 4 3
Output #1
3

Here is a way to achieve the objective in three operations, which is the minimum needed.

*   Choose an integer $i=2$ such that $a_i$ is a multiple of $2$, and replace $a_2$ with $\frac{a_2}{2}$. $A$ becomes $(1,2,3)$.
*   Choose an integer $i=2$ such that $a_i$ is a multiple of $2$, and replace $a_2$ with $\frac{a_2}{2}$. $A$ becomes $(1,1,3)$.
*   Choose an integer $i=3$ such that $a_i$ is a multiple of $3$, and replace $a_3$ with $\frac{a_3}{3}$. $A$ becomes $(1,1,1)$.
Input #2
3
2 7 6
Output #2
\-1

There is no way to achieve the objective.
Input #3
6
1 1 1 1 1 1
Output #3
0
API Response (JSON)
{
  "problem": {
    "name": "Divide by 2 or 3",
    "description": {
      "content": "You are given a sequence of positive integers: $A=(a_1,a_2,\\ldots,a_N)$.   You can choose and perform one of the following operations any number of times, possibly zero. *   Choose an integer $i$ suc",
      "description_type": "Markdown"
    },
    "platform": "AtCoder",
    "limit": {
      "time_limit": 2000,
      "memory_limit": 262144
    },
    "difficulty": "None",
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "abc276_d"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "You are given a sequence of positive integers: $A=(a_1,a_2,\\ldots,a_N)$.  \nYou can choose and perform one of the following operations any number of times, possibly zero.\n\n*   Choose an integer $i$ suc...",
      "is_translate": false,
      "language": "English"
    }
  ]
}
Full JSON Raw Segments