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)