本文章由 WyOJ Shojo 从洛谷专栏拉取,原发布时间为 2021-06-05 19:06:03
思路
题目中说道要使低于 $k$ 和 高于或等于 $k$ 相等,问这样的 $k$ 最多有几个。
所以可以知道,$k$ 必须是这些数中中间大小的两个数的差之间,而答案也就是中间两数的差。
代码
#include <iostream>
#include <string>
#include <cmath>
#include <map>
#include <algorithm>
#include <cstdio>
using namespace std;
int main(){
int n,a[100005];
cin>>n;
for(int i=1;i<=n;++i)
cin>>a[i];
sort(a+1,a+n+1);
cout<<a[n\/2+1]-a[n\/2];
return 0;
}

鲁ICP备2025150228号