CF653C.Bear and Up-Down

普及/提高-

通过率:0%

AC君温馨提醒

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

题目描述

The life goes up and down, just like nice sequences. Sequence t1,t2,...,tnt_{1},t_{2},...,t_{n} is called nice if the following two conditions are satisfied:

  • t_{i}<t_{i+1} for each odd i<n ;
  • t_{i}>t_{i+1} for each even i<n .

For example, sequences (2,8)(2,8) , (1,5,1)(1,5,1) and (2,5,1,100,99,120)(2,5,1,100,99,120) are nice, while (1,1)(1,1) , (1,2,3)(1,2,3) and (2,5,3,2)(2,5,3,2) are not.

Bear Limak has a sequence of positive integers t1,t2,...,tnt_{1},t_{2},...,t_{n} . This sequence is not nice now and Limak wants to fix it by a single swap. He is going to choose two indices i<j and swap elements tit_{i} and tjt_{j} in order to get a nice sequence. Count the number of ways to do so. Two ways are considered different if indices of elements chosen for a swap are different.

输入格式

The first line of the input contains one integer nn ( 2<=n<=1500002<=n<=150000 ) — the length of the sequence.

The second line contains nn integers t1,t2,...,tnt_{1},t_{2},...,t_{n} ( 1<=ti<=1500001<=t_{i}<=150000 ) — the initial sequence. It's guaranteed that the given sequence is not nice.

输出格式

Print the number of ways to swap two elements exactly once in order to get a nice sequence.

输入输出样例

  • 输入#1

    5
    2 8 4 7 7
    

    输出#1

    2
    
  • 输入#2

    4
    200 150 100 50
    

    输出#2

    1
    
  • 输入#3

    10
    3 2 1 4 1 4 1 4 1 4
    

    输出#3

    8
    
  • 输入#4

    9
    1 2 3 4 5 6 7 8 9
    

    输出#4

    0
    

说明/提示

In the first sample, there are two ways to get a nice sequence with one swap:

  1. Swap t2=8t_{2}=8 with t4=7t_{4}=7 .
  2. Swap t1=2t_{1}=2 with t5=7t_{5}=7 .

In the second sample, there is only one way — Limak should swap t1=200t_{1}=200 with t4=50t_{4}=50 .

首页