Frog 1

AtCoder
IDdp_a
Time2000ms
Memory256MB
Difficulty
There are $N$ stones, numbered $1, 2, \ldots, N$. For each $i$ ($1 \leq i \leq N$), the height of Stone $i$ is $h_i$. There is a frog who is initially on Stone $1$. He will repeat the following action some number of times to reach Stone $N$: * If the frog is currently on Stone $i$, jump to Stone $i + 1$ or Stone $i + 2$. Here, a cost of $|h_i - h_j|$ is incurred, where $j$ is the stone to land on. Find the minimum possible total cost incurred before the frog reaches Stone $N$. ## Constraints * All values in input are integers. * $2 \leq N \leq 10^5$ * $1 \leq h_i \leq 10^4$ ## Input Input is given from Standard Input in the following format: $N$ $h_1$ $h_2$ $\ldots$ $h_N$ [samples]
Samples
Input #1
4
10 30 40 20
Output #1
30

If we follow the path $1$ → $2$ → $4$, the total cost incurred would be $|10 - 30| + |30 - 20| = 30$.
Input #2
2
10 10
Output #2
0

If we follow the path $1$ → $2$, the total cost incurred would be $|10 - 10| = 0$.
Input #3
6
30 10 60 10 60 50
Output #3
40

If we follow the path $1$ → $3$ → $5$ → $6$, the total cost incurred would be $|30 - 60| + |60 - 60| + |60 - 50| = 40$.
API Response (JSON)
{
  "problem": {
    "name": "Frog 1",
    "description": {
      "content": "There are $N$ stones, numbered $1, 2, \\ldots, N$. For each $i$ ($1 \\leq i \\leq N$), the height of Stone $i$ is $h_i$. There is a frog who is initially on Stone $1$. He will repeat the following action",
      "description_type": "Markdown"
    },
    "platform": "AtCoder",
    "limit": {
      "time_limit": 2000,
      "memory_limit": 262144
    },
    "difficulty": "None",
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "dp_a"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "There are $N$ stones, numbered $1, 2, \\ldots, N$. For each $i$ ($1 \\leq i \\leq N$), the height of Stone $i$ is $h_i$.\nThere is a frog who is initially on Stone $1$. He will repeat the following action...",
      "is_translate": false,
      "language": "English"
    }
  ]
}
Full JSON Raw Segments