yumi08 @ 2020-03-27 16:25:28
不懂就问,为什么long long n,m必须是全局变量不然就无法输入??放在main函数里输入5 2赋值给nm会出错
#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
long long a[5000005];
long long n,m;
int main()
{
scanf("%d%d",&n,&m);
for(long long i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
nth_element(a,a+m,a+n);
printf("%d\n",a[m]);
}
by metaphysis @ 2020-03-27 16:35:08
@yumi08 如果放在main函数内,您在输入和输出时应该指定格式为"%lld"而不是"%d"。
您可以参考我写的一本书上的例子,具体参见第1章“入门”,上面有比较详细的解析,并且附有相关应用题目(题目源自UVa OJ),可免费下载此书的PDF版本。链接:https://blog.csdn.net/metaphysis/article/details/90288252
by metaphysis @ 2020-03-27 16:36:57
@yumi08 即使放在外面声明为全局变量,在输入时也最好指定输入和输出格式为"%lld"。
by yumi08 @ 2020-03-27 17:17:25
@metaphysis 非常感谢!我马上去看!!