hdu 1257

在一堆数里面把这些数分成降序的排列并使所分的组数最少!!

代码如下:

#include"stdio.h"



int min[100000];

int main( )

{

    int n,x,i,j,count;

    while(~scanf("%d",&n))

    {

        count=1;

        for(i=1;i<=n;i++)

        {

            scanf("%d",&x);

            for(j=0;j<count;j++)//个人觉得这里是最经典的地方,因为一石二鸟,既找出了离x最近的最小的数又。。。。

                if(x<min[j])

                {min[j]=x;break;}

            if(j==count)

                min[count++]=x;

        }

        printf("%d\n",count-1);

    }

    return 0;

}

 

你可能感兴趣的:(HDU)