P1012波浪数列 | |
|
Description
设数列中至少有3个数,将中相邻的两个数依次作差(前面的减后面的),得到一个新的数列,即b[i]=a[i+1]-a[i],如果数列满足b[i]*b[i+1]<0(1<=i<=n-1),即中任意两个相邻的数之积小于0,则称数列为一个波浪数列。现在给出一个数列,从这个数列中去掉一些数,使剩下的数构成一个波浪数列,求最少要去掉的个数。
Input Format
第一行一个正整数n,接下来n行,每行一个整数,范围在int以内。
Output Format
一个整数,表示需要去掉的最少个数;如果无论去掉多少个都不能变成波浪数列,输出“not exists”(不包含引号)。
Sample Input
10
734
9025
465
10
16459
87
14
8102
7590
175
Sample Output
3
Hint
注意:对于50%的数据,3<=n<=5000;
对于100%的数据,3<=n<=100000。