美女购物

P1-美女购物 

Time Limit:1000ms,     Memory Limit:65536KB

Description 

一天,MM陪佳佳逛街,看到有许多漂亮的衣服,佳佳要让MM给她买衣服,但是MM发现衣服的价格实在高的令人胆寒,MM当然不愿意买这么贵的衣服,因此她就想着从街头逛到街尾买到的衣服价格总要比前一件购买的价格低,绝不回头购买,但是他又想让佳佳高兴,所以他想尽可能的多买几件衣服,你能帮帮她吗?  

Input 

测试数据包括多组,每组包含两行: 第一行输入一个整数N(N<10000)第二行输入N个整数,表示从街头到街尾的衣服的价格(按从头到尾的顺序)。当遇到0时,表示输入结束  

Output 

每组测试数据输出占一行,输出佳佳最多能买到多少件衣服。  

Example Input 

16

300 250 275 252 200 138 245 130 300 128 244 243 242 241 240 239

3

3 3 4

0

Example Output 

10

1

#include<iostream>
#define N 100
using namespace std;
int main()
{
    int a[N],b[N];
    int n,i,j;
    int max;
    while(cin>>n)
    {
        for(i=0;i<n;i++)
        cin>>a[i];
        b[0]=1;//初始化,以a[0]结尾的最长递增子序列长度为1      
for(i=1;i<n;i++) { b[i]=1; for(j=0;j<i;j++) if(a[i]<a[j]&&b[j]+1>b[i])//关键算法,每次调用上一级的b[i];
b[i]
=b[j]+1; } for(i=max=0;i<n;i++)//求出整个数列的最长递增子序列的长度
if(max<b[i]) max=b[i]; cout<<max; cout<<endl; } return 0; }

 

posted @ 2014-12-09 16:47  Animationer  阅读(270)  评论(0编辑  收藏  举报