2023年CSP-S1阅读程序题3:#include

2023年CSP-S1阅读程序题3:

#include <vector>
#include <algorithm>
#include <iostream>
using namespace std;
bool fo(vector<int>& a, int m, int k){
 int s =0;
for(int i =0,j =0; i<a.size(); i++){
 while (a[i]- a[j]>m)j++;
 s += i -j;
}
 return s >= k;
}
int f(vector<int>& a, int k){
 sort(a.begin(), a.end());1
 int g =0;
 int h = a.back()- a[0];
while(g< h){
  int m = g+(h -g)/ 2;
if(fo(a,m, k)){
 h = m;
} else {
 g = m+1;27 }28 }29
 return g;31}32
 int main(){34 int n,k;35 cin >> n >> k;36 vector<int> a(n,0);37 for(int i =o; i<n; i++){
 cin >> a[i];
 }
 cout<< f(a,k)<< endl;
 return 0
}

假设输入总是合法的且|a[i]l≤108、n≤10000和1≤k≤n(n-1)/2,完成下面的判断题和单选题:

当输入为“582-538-12”时,输出为()。

答案
B

题目信息

题号:1931
题型:单选题
难度:普通