代码输出为零,Time Limit Exceeded

各位,朋友,请帮我看看一下这个代码哪处导致了输出为0 与 Time Limit Exceeded.
代码如下:

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int n, k;
    cin >> n >> k;
    int sort_num[n];
    memset(sort_num, 0, sizeof(sort_num));
    for(int i = 0; i < n; i++)
    {
        cin >> sort_num[i];
    }
    for(int i = n; i > 1; i--)
    {
        for(int j = 1; j < i; j++)
        {
            if(sort_num[j] > sort_num[j + 1])
            {
                swap(sort_num[j], sort_num[j + 1]);
            }
        }
    }
    cout << sort_num[k];
    return 0;
}

测试数据如下:

输入                                               输出
5 1                                                 2
4 3 2 1 5

感谢!

有题目吗,把题目截图给我一下,我帮你做
还有如果需要排序的话,用C++已经写好的函数就行啦。
格式sort(起始元素,结束元素)//从小到大把数组排一遍序
当然冒泡排序法也可以,你把题目发一下,我帮你看看,改一改
下面是代码:

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int n,k;
    cin>>n>>k;
    int a[n+1];
    for(int i=1;i<=n;i++) cin>>a[i];
    sort(a+1,a+n+1);
    cout<<a[k]<<endl; 
}