CSUOJ1867
Posted uMBrELlAmRx
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CSUOJ1867相关的知识,希望对你有一定的参考价值。
1867: John and Health rate
Time Limit: 2 Sec Memory Limit: 128 Mb Submitted: 328 Solved: 77
Description
The cold and flu season is here.John is worried about his cow. In order to monitor the situation of his cow,he do some inspecting everyday,and record the “health rate” for each cow.The “health rate” is a integer which can show the cow’s health condition.The higher a cow’s health rate is ,the healthier the cow is.What’s more,the doctor told John that the k-th small health rate is dangerous.Because the doctor thought there are at most k healthy cows. So John has to find out which number is the k-th small.Can you help him?
Input
Input contains multiple test cases.
The first line contains two integers n,k (1?≤?n?≤?1000000,1<=k<=n) — the number of cows and dangerous number. The second line contains n integers,and the i-th integer ai(-10000<=ai<=10000) is the i-th cow’s health rate
Output
Output a single line with the k-th small health rate.
Sample Input
2 1 3 2 5 2 -1 0 -2 5 3
Sample Output
2 -1
其实很简单,就用一个sort就可以解决,时间复杂度为O(nlogn),最小的时间复杂度要用到桶排序?
#include <iostream> #include<cstdio> #include<algorithm> using namespace std; int n,k,a[1000000]; int main() { while(~scanf("%d%d",&n,&k)){ for(int i=0;i<n;i++) scanf("%d",&a[i]); sort(a,a+n); printf("%d\n",a[k-1]); } return 0; }
以上是关于CSUOJ1867的主要内容,如果未能解决你的问题,请参考以下文章