博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HPU 1437: 王小二的求值问题
阅读量:6975 次
发布时间:2019-06-27

本文共 1071 字,大约阅读时间需要 3 分钟。

1437: 王小二的求值问题

时间限制: 1 Sec 
内存限制: 128 MB
提交: 141 
解决: 31 

题目描述

    题意超级简单,求一个序列的次大值。

输入

    多组输入,每个测试实例占两行,包括一个整数n (1<n<1000000),接下来一行是n个int范围内的整数,求次大值;

输出

    对于每个测试实例,输出序列的次大值,每个输出占一行。

样例输入

51 2 3 4 5

样例输出

4

方法一:冒泡排序。因为是求次大值,所以不需要排除所有数的大小,否则会超时。

方法二:用两个变量记录最大值和次大值。

注意!!!!!是多组输入(忽略了这句话错了一下午) 

方法一AC代码:

#include
using namespace std;const int maxn=1e6+10;int a[maxn];int main(){ int n,i,j; while(cin>>n&&n!=EOF) { for(i=0;i
>a[i]; for(i=0;i<3;i++) for(j=0;j
a[j+1]) { int t=a[j+1]; a[j+1]=a[j]; a[j]=t; } } cout<
<

方法二AC代码:

#include
using namespace std;int a[1000000+10];int main(){ int n,max1,max2; while(cin>>n&&n!=EOF) { for(int i=0;i
>a[i]; max1=a[0]; max2=INT_MIN; for(int i=1;i
=a[i]) { if(max2

方法三AC代码(sort):

#include
using namespace std;const int maxn=1e6+10;int a[maxn];bool cmp(int a,int b){ return a>b;}int main(){ int n,i; while(~scanf("%d",&n)) { for(i=0;i

转载于:https://www.cnblogs.com/Friends-A/p/9309030.html

你可能感兴趣的文章
安装sql 2005 闪退 连接到服务器失败。错误:0x80070424
查看>>
Linux下分割与合并文件的方法
查看>>
安全攻防实战:使用winlogonhack获取系统密码
查看>>
AD RMS高可用(三)部署RMS根群集服务器
查看>>
5.1 python的缩进
查看>>
瀚思首发三款产品 推动大数据安全战略布局
查看>>
全“芯”关注用户需求 AMD“超轻薄笔记本”杀出重围
查看>>
自定义通知与系统通知的学习(详解)
查看>>
软考新思维--2017年上半年信息系统项目管理师上午试题分析与答案(试题16-20题)...
查看>>
C#编码简单性之语义篇(如何编写简短的C#代码,随时更新)
查看>>
使用sudo进入root权限,以及防止root密码被恶意篡改
查看>>
Android 多媒体综述
查看>>
route命令相关整理
查看>>
关于VS2012如何安装Windows Phone Toolkit
查看>>
Forefront for OCS2007之部署
查看>>
IBM Thinkpad T43-44U 升级到 2G 内存后少了 66M
查看>>
【No.1_sizeof与strlen】
查看>>
SMO学习笔记(二)——还原(恢复)篇之完整恢复
查看>>
Windows Server 2003 AD升级到Windows Server 2008 AD的方法及详细步骤
查看>>
设置php-fpm使用socket文件
查看>>