zoukankan      html  css  js  c++  java
  • CODEVS——T1979 第K个数

     空间限制: 1000 KB
     题目等级 : 黄金 Gold
     
     
    题目描述 Description

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

    输入描述 Input Description

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

    输出描述 Output Description

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

    样例输入 Sample Input
    5 2
    1 2 3 4 5
    样例输出 Sample Output
    YES
    2
    数据范围及提示 Data Size & Hint

    20%数据满足0<n<=10
    50%数据满足0<n<=5000
    100%数据满足0<n<=10000

    排序+素数

     1 #include <algorithm>
     2 #include <cstdio>
     3 
     4 using namespace std;
     5 
     6 #define LL long long
     7 LL n,k,a[10000+15],ans;
     8 
     9 bool jud(LL x)
    10 {
    11     for(LL i=2;i*i<=x;i++)
    12         if(x%i==0) return 0;
    13     return 1;
    14 }
    15 bool cmp(LL a,LL b)
    16 {
    17     return a>b;
    18 }
    19 
    20 int main()
    21 {
    22     scanf("%lld%lld",&n,&k);
    23     for(int i=1;i<=n;i++) scanf("%lld",a+i);
    24     sort(a+1,a+n+1);
    25     ans-=a[k];
    26     sort(a+1,a+n+1,cmp);
    27     ans+=a[k];
    28     if(ans<2||!jud(ans)) printf("NO
    ");
    29     else printf("YES
    ");
    30     printf("%lld",ans);
    31     return 0;
    32 }
    ——每当你想要放弃的时候,就想想是为了什么才一路坚持到现在。
  • 相关阅读:
    svn使用
    canvas入门-3渐变方法
    canvas入门-2路径、文字
    canvas入门-1三种填充方式、渐变、模式
    jquery extend的使用
    angular入门-ngOptions
    jquery-EasyUI---panel面板的用法
    jquery-EasyUI---tooltip提示框的使用
    jquery-EasyUI---progressbar进度条的的使用
    jquery-EasyUI---searchbox搜索框的用法
  • 原文地址:https://www.cnblogs.com/Shy-key/p/7307601.html
Copyright © 2011-2022 走看看