1224: 【基础】第K大与第K小数

内存限制:32 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:19 解决:10

题目描述

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

输入

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

输出

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

样例输入 复制

5 2
1 2 3 4 5

样例输出 复制

YES
2

提示

n,k=map(int,input().split())
ls=list(map(int,input().split()))
ls.sort(reverse=True)
k1=ls[k-1]
ls.sort()
k2=ls[k-1]
m=k1-k2
flag=1
for i in range(2,int(m**0.5)+1):
    if m%i==0:
        flag=0
        break
if flag and m>=2:
    print("YES")
else:
    print("NO")
print(m)