题解:和noip2013花匠很像,记录下奇偶即可
#include <iostream>
#include <cstdio>
using namespace std;
int n,tot,flag;//1上升,2下降
int a[100005];
inline void init()
{
cin>>n;
for(int i=1;i<=n;i++)
scanf("%d",&a[i]);
tot=1;flag=0;
}
inline void work()
{
for(int i=2;i<=n;i++)
{
if(a[i]>a[i-1]&&(tot+1)%2==1)
//a[i]应该放在第tot+1位上
{
if(flag!=1)
{
flag=1;
tot++;
}
}
if(a[i]<a[i-1]&&(tot+1)%2==0)
//可以&1位运算优化
{
if(flag!=2)
{
flag=2;
tot++;
}
}
}
printf("%d\n",tot);
}
int main()
{
init();
work();
return 0;
}