题解 | #特殊的极差#
特殊的极差
https://www.nowcoder.com/practice/987311ec16e44c588a4b71101cb3121c
#include <bits/stdc++.h>
using namespace std;
int main(){
ios::sync_with_stdio(0);
cin.tie(0);cout.tie(0);
int n,x,y,z;
cin>>n>>x>>y>>z;
vector<int> a(n);
multiset<int> s;// 利用 multiset对基本数据类型的顺序存储!
for(int i = 0; i < n; i++){
cin >> a[i];
}
int l(0),r(-1);
int ans(0);
while(r < n){
s.insert(a[++r]);
while(l <= r && (*s.rbegin())*x - (*s.begin())*y > z){
s.erase(s.find(a[l++]));
}
ans = max(ans,r-l+1);
}
cout<< ans << endl;
return 0;
}
格力公司福利 277人发布