上善若水

  C++博客 :: 首页 :: 联系 :: 聚合  :: 管理
  2 Posts :: 32 Stories :: 2 Comments :: 0 Trackbacks

常用链接

留言簿

我参与的团队

最新随笔

搜索

  •  

积分与排名

  • 积分 - 9761
  • 排名 - 1179

最新评论

阅读排行榜

评论排行榜

第二大的数

时间限制(普通/Java):1000MS/3000MS          运行内存限制:65536KByte
总提交:397            测试通过:90

描述

给出N个整数,请求出小于M的第二大的数。

输入

题目包含多组输入,每组数据第一行包括两个整数N,M(0<=M<=N<=1000),N,M=0时结束。第二行包括N个整数xi(0<=xi<=100000)。

输出

输出N个数中小于M的第二大的数,如果不存在则输出-1。

样例输入

5 103
100 101 102 103 104
5 103
100 101 101 103 104
0 0

样例输出

101
101

题目来源

NUAA

分析:第二大,再有俩就可以了。所以别的就不用看了。水题,感觉。
#include<stdio.h>
int main()
{
    
int n,m,i,j,k,m1,m2;
    
while (1)
    
{
        scanf(
"%d%d",&n,&m);
        
if (m==0&&n==0)
        
{
            
break;
        }

        m1
=-1;
        m2
=-1;
        
for (i=0;i<n;i++)
        
{
            scanf(
"%d",&k);
            
if (k<m)
            
{
                
if (m1<k)
                
{
                    m2
=m1;
                    m1
=k;

                }
else if (m2<k)
                
{
                    m2
=k;
                }

            }

            
        }

        printf(
"%d\n",m2);
    }

}
 
posted on 2009-11-26 22:58 上善若水 阅读(140) 评论(0)  编辑 收藏 引用

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理