题目链接
https://www.acwing.com/problem/content/791/
思路写一个划分x为左边界和有边界的整数二分方法即可
#include
using namespace std;
#define ll long long
#define mod 1000000009
#define endl "\n"
#define PII pair
ll ksm(ll a,ll b) {
ll ans = 1;
for(;b;b>>=1LL) {
if(b & 1) ans = ans * a % mod;
a = a * a % mod;
}
return ans;
}
ll lowbit(ll x){return -x & x;}
const int N = 2e6+10;
int n,q,a[N];
// 区间[l, r]被划分成[l, mid - 1]和[mid, r]
int findR(int l,int r,int x){
while(l > 1;
if(a[mid] 1;
if(a[mid] >= x) r = mid;
else l = mid + 1;
}
return r;
}
int main()
{
scanf("%d%d",&n,&q);
for(int i = 0;i
关注
打赏