博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
TYVJ P1001 第K极值 Label:水
阅读量:6971 次
发布时间:2019-06-27

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

背景

成成第一次模拟赛 第一道

描述

给定一个长度为N(0<n<=10000)的序列,保证每一个序列中的数字a[i]是小于maxlongint的非负整数 ,编程要求求出整个序列中第k大的数字减去第k小的数字的值m,并判断m是否为质数。(0<k<=n)

输入格式

输入格式:
第一行为2个数n,k(含义如上题)
第二行为n个数,表示这个序列

输出格式

输出格式:
如果m为质数则
第一行为'YES'(没有引号)
第二行为这个数m
否则 
第一行为'NO'
第二行为这个数m

测试样例1

输入

5 2 
1 2 3 4 5

输出

YES 
2

备注

对于第K大的详细解释:
如果一个序列为1 2 2 2 2 3
第1大 为3
第2大 为2
第3大 为2
第4大 为2
第5大 为1
第K小与上例相反
另外需要注意的是
最小的质数是2,如果小于2的话,请直接输出NO

代码

1 #include
2 #include
3 #include
4 #include
5 #include
6 using namespace std; 7 int a[50005],m,N,K; 8 int check(int x){ 9 if(x<=1) return 0;10 for(int i=2;i<=sqrt(x);i++)//当x=2或3时,sqrt都为111 if(x%i==0) return 0;12 return 1;13 }14 int main(){15 // freopen("01.txt","r",stdin);16 scanf("%d%d",&N,&K);17 for(int i=1;i<=N;i++)18 scanf("%d",&a[i]);19 20 sort(a+1,a+N+1);21 m=a[N-K+1]-a[K];22 23 if(check(2))24 cout<<"YES"<
<
<

 

转载于:https://www.cnblogs.com/radiumlrb/p/5802505.html

你可能感兴趣的文章
iOS的Cookie存取看我绝对够!!
查看>>
Java工程师如何在1个月内做好面试准备?
查看>>
PAT A1078
查看>>
少走弯路,给Java 1~5 年程序员的建议
查看>>
纯链式golang http请求库, 支持HTTP代理
查看>>
类的扩充 js中面向对象的技术
查看>>
css 3D动画
查看>>
一名3年工作经验的java程序员应该具备的职业技能
查看>>
机器喵之红黑树(一)
查看>>
短网址(short URL)系统的原理及其实现
查看>>
azkaban 安装
查看>>
【290天】我爱刷题系列049(2017.11.22)
查看>>
java重写equals及hashcode方法
查看>>
【253天】我爱刷题系列(12)
查看>>
深入理解 js this 绑定 ( 无需死记硬背,尾部有总结和面试题解析 )
查看>>
[js高手之路]js单页hash路由原理与应用实战
查看>>
翻译webpack3.5.5 - code splitting - 上半部分
查看>>
列表用法
查看>>
Vue SPA 项目在 Amazon S3 部署小技巧
查看>>
数据段、数据报、数据包、帧的区别与联系
查看>>