lower_bound法
2026-07-17 11:00:05
发布于:四川
66阅读
0回复
0点赞
:第一个大于等于A的数,用于二分
思路:
先查找等于Alice身高的数,若没有,比较a[i]和a[i-1],若相同,就和其中较矮那一人做朋友否则和相近人士交朋友。
查找就用。(i=lower_bound(a+1,a+4,A)-a)
#include <algorithm>
#include<iostream>
using namespace std;
int a[4];
int main(){
int A;
cin>>A;//Ailce身高
cin>>a[1]>>a[2]>>a[3];
sort(a+1,a+4);
int i=lower_bound(a+1,a+4,A)-a;//第一个大于等于A的数
if(a[i]==A) cout<<a[i];
else if(abs(A-a[i-1])<=abs(a[i]-A)) cout<<a[i-1];//最好加绝对值
else cout<<a[i];
return 0;
}
全部评论 1

2026-07-17 来自 四川
0








有帮助,赞一个