题目描述
LH的妹子们排成了1排。
每个妹子有一个颜值ai。由于LH不想让妹子的颜值差距过大,并且他想找出尽可能多的妹子,所以他想找出一段连续的妹子,使得这段妹子最大的颜值减去这段妹子最小的颜值≤k,并且妹子的数量尽可能多。
请聪明的你帮帮LH来找妹子吧。输入
第一行给出2个正整数n,k,表示LH有n个妹子,LH希望找出的妹子最大的颜值减去这些妹子最小的颜值≤k。 第二行输入n个正整数 ai。表示LH的n个妹子的颜值。
输出
输出一行一个整数表示LH能找到的妹子的数量的最大值。
样例输入 Copy
4 2 1 4 2 3样例输出 Copy
3提示
对于30%的数据,n≤100。
对于50%的数据,n≤1000
对于另外20%的数据,ai≤ai+1。
对于100%的数据,n≤100000,ai≤109,k≤109。
向某位大佬要的multiset+二分查找代码:
- #include
- using namespace std;
- const int maxn=1e5+5;
- typedef long long ll;
- ll n,arr[maxn],k,mp[maxn],cnt;
- multiset
st; - int main()
- {
- cin>>n>>k;
- for(int i=0;i
- {
- cin>>arr[i];
- }
- ll maxx=-1e9,minx=1e9+5;
- int ans=0;
- int j=0;
- for(int i=0;i
- {
- maxx=max(maxx,arr[i]);
- minx=min(minx,arr[i]);
- st.insert(arr[i]);
- while(maxx-minx>k)
- {
- multiset
::iterator it =st.lower_bound(arr[j]); - st.erase(it);
- if(st.size())
- {
- minx=*st.begin();
- it=st.end();
- it--;
- maxx=*it;
- }
- else
- {
- maxx=-1e9;
- minx=1e9+5;
- }
- j++;
- }
- int len=st.size();
- ans=max(ans,len);
- }
- cout<
-
- return 0;
- }
我写的是小根堆大根堆双指针,但是不知道为什么是对的qwq
- #include
- using namespace std;
- typedef long long ll;
- typedef double db;
- const int N=1e5+5;
- ll a[N],n,k,mmmax=0,mmax,mmin;
- struct node
- {
- int w,now;
- friend bool operator < (node a, node b)
- {
- return a.w>b.w;//这里注意符号要为'>'
- }
- };
- struct nodes
- {
- int w,now;
- friend bool operator < (nodes a, nodes b)
- {
- return a.w
//这里注意符号要为'>' - }
- };
- priority_queue
qd;//大 - priority_queue
qx;//小 - ll l=0,r=0;
- int main()
- {
- cin>>n>>k;
- for(ll i=0; i<=n-1; i++)
- {
- cin>>a[i];
- }
- qd.push((nodes)
- {
- a[0],0
- });
- qx.push((node)
- {
- a[0],0
- });
- while(r
- {
- while(qx.top().now
- {
- qx.pop();
- }
- while(qd.top().now
- {
- qd.pop();
- };
- mmax=qd.top().w;
- mmin=qx.top().w;
- if(mmax-mmin>k)
- {
- l++;
- }
- else
- {
- mmmax=max(mmmax,r-l+1);
- if(r++ ==n-1)
- {
- break;
- }
- qd.push((nodes)
- {
- a[r],r
- });
- qx.push((node)
- {
- a[r],r
- });
- }
- }
- cout<
-
-
- return 0;
- }
-
相关阅读:
11在SpringMVC中响应到浏览器的数据格式,@ResponseBody注解和@RestController复合注解的功能详解
Vue 如何监听 localstorage的变化
haskell 基本布局和组成元素
小学生python练习3--跳伞防鸟小游戏
(三十一)大数据实战——一键式DolphinScheduler高可用工作流任务调度系统部署安装
CommunityToolkit.Mvvm8.1 MVVM工具包安装引用指南(1)
Portainer-docker可视化工具
html5 web前端 localStorage的存储,读取,删除
A. The Enchanted Forest(思维)
Vue记录(下篇)
-
原文地址:https://blog.csdn.net/m0_61949623/article/details/126267872