分析 考虑答案的单调性,我们先钦定一个值为最小值或最大值。那么如果 是一个满足的区间,那么 也一定是一个合法区间。对于每一个数都求出它的分界点。那么 。这个直接上单调队列。时间复杂度为 。 代码 #include<bits/stdc++.h> using namespace std; const int N = 1e7 + 100,P = 1e9; int n,a[N],k,b,c; int q[N],ans[N],l,r,len; int main() { cin >> n >> k >> a[0] >> b >...