P1001 第K极值
P1001 第K极值
时间: 1000ms / 空间: 131072KiB / Java类名: Main
背景
成成第一次模拟赛 第一道
描述
给定一个长度为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
原创……
-------------------------------------------------
刚开始打了一个素数表, 结果提示Runtime Error ,就通过了几组数据。。
然后改方法直接判断是不是素数了。。。。
-------------------------------------------------------------------------------------------
import java.util.Arrays;
import java.util.Scanner;
public class Main { static boolean is_prime(int n){
if(n<=1) return false;
if (n==2)return true;
for(int i=3;i<=Math.sqrt(n);i++){
if(n%i==0) return false;
}
return true; } public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc=new Scanner(System.in);
while(sc.hasNext()){
int n=sc.nextInt(); int a[]=new int[n];
int k=sc.nextInt();
for(int i=0;i<n;i++)
a[i]=sc.nextInt();
Arrays.sort(a);
int tmp=a[k-1];
int tmp1=a[n-k];
if(tmp1-tmp<=1){
System.out.println("NO");
}
else{
if(is_prime(tmp1-tmp))
System.out.println("YES");
else
System.out.println("NO"); }
System.out.println(tmp1-tmp);
}
sc.close(); } }
P1001 第K极值的更多相关文章
- P1001 第K极值【tyvj】
/*========================================== P1001 第K极值 内存限制 128MB 代码限制 64KB 描述 Description 给定一个长度为N ...
- tyvj——P1001 第K极值
P1001 第K极值 时间: 1000ms / 空间: 131072KiB / Java类名: Main 背景 成成第一次模拟赛 第一道 描述 给定一个长度为N(0<n<=10000)的序 ...
- [TYVJ] P1001 第K极值
第K极值 背景 Background 成成第一次模拟赛 第一道 描述 Description 给定一个长度为N(0<n<=10000)的序列,保证每一个序列中的数字a[i]是小于 ...
- TYVJ P1001 第K极值 Label:水
背景 成成第一次模拟赛 第一道 描述 给定一个长度为N(0<n<=10000)的序列,保证每一个序列中的数字a[i]是小于maxlongint的非负整数 ,编程要求求出整个序列中第k大的数 ...
- 学习笔记--函数式线段树(主席树)(动态维护第K极值(树状数组套主席树))
函数式线段树..资瓷 区间第K极值查询 似乎不过似乎划分树的效率更优于它,但是如果主席树套树状数组后,可以处理动态的第K极值.即资瓷插入删除,划分树则不同- 那么原理也比较易懂: 建造一棵线段树(权值 ...
- [Tyvj1001]第K极值 (贪心?模拟)
考前打tyvj的水题 题目描述 给定一个长度为N(0<n<=10000)的序列,保证每一个序列中的数字a[i]是小于maxlongint的非负整数 ,编程要求求出整个序列中第k大的数字减去 ...
- 分治法:快速排序求第K极值
标题其实就是nth_element函数的底层实现 nth_element(first, nth, last, compare) 求[first, last]这个区间中第n大小的元素 如果参数加入了co ...
- 【算法学习】有旋treap
treap是平衡树的一种.与其他平衡树一样,它也能够支持插入和删除,求第k极值等,接下来我们主要探讨有旋treap的实现过程. treap中每个节点要维护其值,左右孩子以及子树大小.父亲要不要写则看你 ...
- django模型操作
Django-Model操作数据库(增删改查.连表结构) 一.数据库操作 1.创建model表
随机推荐
- 【Python】【有趣的模块】【Bobo】
[python web框架之 bobo的安装配置] [Mac] 我的Mac环境,python3.5 1. 安装bobo : >>> pip3 install bobo 2. 配 ...
- DataTable转化成实体对象
/// <summary> /// The data extension. /// </summary> public static class DataExtension { ...
- LIBS+=
ZC: “LIBS+=”是要结合“LIBPATH += ”一起使用的?类似下面的用法: ZC: “LIBS+=”指明lib文件的名称,“LIBPATH += ”指明lib文件的路径.最后还要把DLL文 ...
- [设计模式]工厂模式factory
参考:http://wxg6203.iteye.com/blog/740229 简单工厂模式(simple factory)是类的创建模式,又叫静态工厂方法(static factory method ...
- js 数组的删除
var test=[1,2,1,2,3,4,5,6,7]; 1.remove test.remove(1) 位置 test.remove(-2) test.remove(2,3) 2 dele ...
- ASCII 和 Unicode 编码的由来
大话数据结构上的说明: 网络博文的说明:
- sublime text注册码与快捷键
其他版本: —– BEGIN LICENSE —– Michael Barnes Single User License EA7E-821385 8A353C41 872A0D5C DF9B2950 ...
- API网关 动态路由、监控、授权、安全、调度
1.API网关介绍 API网关是一个服务器,是系统的唯一入口.从面向对象设计的角度看,它与外观模式类似.API网关封装了系统内部架构,为每个客户端提供一个定制的API.它可能还具有其它职责,如身份验证 ...
- [转]TOMCAT启动提示NB: JAVA_HOME should point to a JDK not a JRE解决
来源:http://blog.csdn.net/caozhongyan/article/details/6602759 本人使用的Tomcat版本为apache-tomcat-6.0.18(用的是解压 ...
- 4-14-17 JavaScript知识点总结(包括JOSN, ajax等,来源w3c)
JavaScript 也称 ECMAScript as "JavaScript" It is designed to run as a scripting language in ...