站外题BUT编译错误,实在不知道错哪儿了。。。(如果是非常愚蠢的错误也请见谅o(╥﹏╥)o)
代码:
#include <bits/stdc++.h>
using namespace std;
const int N=1e9+10;
int a[N],b[N];
void merge(int l,int r)
{
if (l==r)
{
return ;
}
int mid=(l+r)/2;
merge(l,mid);
merge(mid+1,r);
int i=l,j=mid+1;
int tot=l;
while (i<=mid&&j<=r)
{
if (a[i]<a[j])
{
b[tot++]=a[i];
i++;
}
else
{
b[tot++]=a[j];
j++;
}
}
while (i<=mid)b[tot++]=a[i++];
while (j<=r)b[tot++]=a[j++];
for (int i=l;i<=r;i++)
{
a[i]=b[i];
}
}
int main()
{
int n,k;
scanf ("%d%d",&n,&k);//这行编译错误
for (int i=1;i<=n;i++)
{
scanf ("%d",&a[i]);//还有这行
}
merge(1,n);
printf ("%d",a[k]);
return 0;
}
(⊙︿⊙)求dalao们帮忙看看