问题标题: 酷町堂:1555 微信运动

0
0
已解决
董子墨
董子墨
中级天翼
中级天翼

1555 

微信运动

题目描述 Description

随着微信的普及,微信里应用也逐渐被人们接触并使用。微信运动就是其中一个被广泛使用的应用程序。在这里你可以看到所有微信好友的每天的运动步数,并能看见自己在好友中排名多少位。现在假设有n个好友,自己在微信运动里排倒数第k位(相同步数的只计算一次),请显示他的运动步数。k<=1000,好友数小于10000,运动步数小于30000。

输入描述 Input Description

第一行为n和k; 第二行开始为n个正整数的值,整数间用空格隔开。

输出描述 Output Description

第k个最小整数的值;若无解,则输出“NO RESULT”。

样例输入 Sample Input

 

10 3
1 3 3 7 2 5 1 2 4 6

样例输出 Sample Output

 

3


0
已采纳
叶子煊
叶子煊
中级光能
中级光能

这里可以用筒排

for(int i=1;i<=n;i++)
    {
        cin>>t;
        a[t]++;
    }

之后根据题意分两种情况

第一种k存在

(注意这里相同的步数只计算一次)

第二种不存在

 cout<<"NO RESULT";

~~~~~~~~~~~~~~~~~~~~~~~~

望采纳!!!

0
0
屈子元
屈子元
初级守护
初级守护

可以排序 直接sort 然后输出第k-1个元素的值(如果这样写,要写成for(i=0;i<n;i++)来读入(n是好友人数))

如果出现k-1>=n,即k>n的情况时,再输出会因越界而RE,此时输出"NO RESULT"

0
0
0
我要回答