Problem D: 【函数】第k大数和第k小的数

Problem D: 【函数】第k大数和第k小的数

Time Limit: 0 Sec  Memory Limit: 128 MB
Submit: 728  Solved: 240
[Submit] [Status] [Web Board] [Creator:]

Description

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

根据定义编写3个函数,并提交这3个函数的定义。

函数接口定义:

//查找序列中第k大的数字 

int find_kMax(int[],int,int);

//查找序列中第k小的数字 

int find_kMin(int[],int,int);

//判断输入数字是否素数

int is_prime(int);

裁判测试程序样例:


Input

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

Output

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

Sample Input Copy

5 2
1 2 3 4 5

Sample Output Copy

YES
2

HINT

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