CF1407D.Discrete Centrifugal Jumps

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

There are nn beautiful skyscrapers in New York, the height of the ii -th one is hih_i . Today some villains have set on fire first n1n - 1 of them, and now the only safety building is nn -th skyscraper.

Let's call a jump from ii -th skyscraper to jj -th ( i<ji < j ) discrete, if all skyscrapers between are strictly lower or higher than both of them. Formally, jump is discrete, if i<ji < j and one of the following conditions satisfied:

  • i+1=ji + 1 = j
  • max(hi+1,,hj1)<min(hi,hj)\max(h_{i + 1}, \ldots, h_{j - 1}) < \min(h_i, h_j)
  • max(hi,hj)<min(hi+1,,hj1)\max(h_i, h_j) < \min(h_{i + 1}, \ldots, h_{j - 1}) .

At the moment, Vasya is staying on the first skyscraper and wants to live a little longer, so his goal is to reach nn -th skyscraper with minimal count of discrete jumps. Help him with calcualting this number.

输入格式

The first line contains a single integer nn ( 2n31052 \le n \le 3 \cdot 10^5 ) — total amount of skyscrapers.

The second line contains nn integers h1,h2,,hnh_1, h_2, \ldots, h_n ( 1hi1091 \le h_i \le 10^9 ) — heights of skyscrapers.

输出格式

Print single number kk — minimal amount of discrete jumps. We can show that an answer always exists.

输入输出样例

  • 输入#1

    5
    1 3 1 4 5

    输出#1

    3
  • 输入#2

    4
    4 2 2 4

    输出#2

    1
  • 输入#3

    2
    1 1

    输出#3

    1
  • 输入#4

    5
    100 1 100 1 100

    输出#4

    2

说明/提示

In the first testcase, Vasya can jump in the following way: 12451 \rightarrow 2 \rightarrow 4 \rightarrow 5 .

In the second and third testcases, we can reach last skyscraper in one jump.

Sequence of jumps in the fourth testcase: 1351 \rightarrow 3 \rightarrow 5 .

首页