CF1407D.Discrete Centrifugal Jumps
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
There are n beautiful skyscrapers in New York, the height of the i -th one is hi . Today some villains have set on fire first n−1 of them, and now the only safety building is n -th skyscraper.
Let's call a jump from i -th skyscraper to j -th ( i<j ) discrete, if all skyscrapers between are strictly lower or higher than both of them. Formally, jump is discrete, if i<j and one of the following conditions satisfied:
- i+1=j
- max(hi+1,…,hj−1)<min(hi,hj)
- max(hi,hj)<min(hi+1,…,hj−1) .
At the moment, Vasya is staying on the first skyscraper and wants to live a little longer, so his goal is to reach n -th skyscraper with minimal count of discrete jumps. Help him with calcualting this number.
输入格式
The first line contains a single integer n ( 2≤n≤3⋅105 ) — total amount of skyscrapers.
The second line contains n integers h1,h2,…,hn ( 1≤hi≤109 ) — heights of skyscrapers.
输出格式
Print single number k — 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: 1→2→4→5 .
In the second and third testcases, we can reach last skyscraper in one jump.
Sequence of jumps in the fourth testcase: 1→3→5 .