WOJ1152

编程入门 行业动态 更新时间:2024-10-05 09:29:21

WOJ1152

WOJ1152

Ader给Felicia寄来了很多很多的好吃的糖果,Felicia给每一个糖果标记了一个可口度,每天从中选出第K好吃的糖果来吃,但是,Ader寄来的糖果实在是太多太多了,编号后也只能一股脑的放在一个盒子里,Felicia每天都要花巨量的时间来找糖果,这显然是一件折磨人的事,他想写个程序来解决这个问题,但是,万恶的期末考就要来临,Felicia不得不复习E文,只好拜托你来解决这个问题啦!

输入格式

题目含有多组数据,以EOF结束! 每组数据的第一行都有2个数,N和k,N(N<=5000000)表示Ader给Felicia的糖果的总数,k(k<=n)为Felicia想找到的第K好吃的糖果,接下来的1行里有N个正整数,Felicia把糖果从盒子里倒出来,排成一列,这些就是糖果的编号!

输出格式

每一组数据输出仅为一行,且只有一个数,为Felicia想找到的第K好吃的糖果的编号。

样例输入

10 5
5 8 1 4 4 8 3 2 7 10

样例输出

4

排序后输出第k大的就行

#include<stdio.h>
#include<string.h>
int n,k;
int a[5000010],c[5000010];
int main(){int i,num;while(~scanf("%d %d",&n,&k)){memset(c,0,sizeof(c));for(i=1;i<=n;i++){scanf("%d",&a[i]);c[a[i]]++;}num=0;for(i=0;i<=5000009;i++){num+=c[i];if(num>=k){printf("%d\n",i);break;}}}return 0;
} 


更多推荐

WOJ1152

本文发布于:2024-02-14 01:50:25,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1761333.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!