VIJOS-P1571 笨笨的导弹攻击

Description

为了彻底打击目标,笨笨要使用足够多的导弹去打击目标。 每个导弹有各自的编号,这些编号有可能重复…… 现在需要将其中一部分导弹按顺序抽调出来并按原顺序排列,使得这些被抽取出来的导弹奇数位置的编号大于其前一个的编号,偶数位置的编号小于其前一个的编号,这样子才能够正常使用这些导弹攻击目标。 笨笨想知道,他最多能够正常使用多少导弹攻击目标?

Input

第一行一个数n(0< n< =10000),表示导弹总数。 第二行n个数,按顺序表示各个导弹的编号。

Output

输出只有一个数,即最多能正常攻击的导弹总数。

Sample Input

45 3 2 4

Sample Output

3

HINT

路人甲:如果不能正常攻击呢? 笨笨:这个就难办了……可能会爆…… 路人甲:可是你刚刚……好像搞错了一个…… 笨笨:啊?…… (轰……) 笨笨:啊!…………………………………………………………怎么没事? 路人甲:看来程序是对的……

Source

经典DP



#include
int a[10001],n,ans=1,idx;
int main()
{
    scanf("%d",&n);
    for(int i=1;i<=n;i++) 
        scanf("%d",&a[i]);
    idx=a[1];
    for(int i=2;i<=n;i++)
    {
        if(ans%2==1)
        {
            if(a[i]idx)             
                ans++;
        idx=a[i];
    }
    printf("%d",ans);
}


你可能感兴趣的:(经典DP)