求代码,大神们帮帮忙!!!(c++)

 

给出N个整数,请找出第K小的数并输出该数值。

输入

第1行,二个整数n,k(小于1000);
接下来的一行,包含n个数,两个数之间1个空格分隔。

输出

只有1行,为第K小数。

样例输入 

4 3
1 2 3 4

样例输出 

3

#include<cstdio> 
#include<iostream>
#include<algorithm>
using namespace std;
const int maxn=10010;
 
int main(){
    
    int n,k;
    int a[maxn];
    
    cin>>n>>k;
    
    for(int i=1;i<=n;i++)
     cin>>a[i];
     
    for(int i=2;i<=n;i++){
        
        int t=a[i],j=i;
        while(j>1&&t<a[j-1]){
            
            a[j]=a[j-1];
            j--;
        }
        a[j]=t;
    }
     
     
    cout<<a[k]<<endl;

}