东西都在代码里面了……
#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<vector>
#include<map>
#include<set>
#include<queue>
#include<stack>
#include<algorithm>
#include<cmath>
using namespace std;
#define mem(a,b) memset(a,b,sizeof(a))
#define INF 1<<30
#define sscc ios::sync_with_stdio(false)
const int MAXN = 5;
typedef unsigned long long ull;
int main(){
sscc;
/*
区间:前闭后开
//升序:
lower_bound(begin,end,num) 返回第一个大于或等于num的数
upper_bound(begin,end,num) 返回第一个大于num的数
//降序
lower_bound(begin,end,num) 返回第一个小于或等于num的数
upper_bound(begin,end,num) 返回第一个小于num的数
*/
//升序
int a[MAXN]={6,8,10,12,14};
//前闭后开
cout << a[lower_bound(a,a+MAXN,11)-a] << endl; //从开始到结尾寻找第一个大于或等于 num的数,返回下标
cout << a[upper_bound(a,a+MAXN,7)-a] << endl; // 返回第一个大于num的数 下标
//降序
int b[MAXN]={14,12,10,8,6};
cout << b[lower_bound(b,b+MAXN,11,greater<int>())-b] << endl; //返回数组中第一个小于或等于 num的数,
cout << b[upper_bound(b,b+MAXN,7,greater<int>())-b] << endl; //返回数组中第一个小于num的数
return 0;
}