对同类元素双指针扫描

#include<iostream>
#include<cstring>
#include<cstdio>
#include<vector> #define int long long
using namespace std; inline int rd(){
int ret=0,f=1;char c;
while(c=getchar(),!isdigit(c))f=c=='-'?-1:1;
while(isdigit(c))ret=ret*10+c-'0',c=getchar();
return ret*f;
} int n,m,k;
vector<int> vec[200005];
int ans=0; signed main(){
n=rd();m=rd();k=rd();
for(int i=1;i<=n;i++)vec[rd()].push_back(i);
for(int i=1;i<=m;i++){
int cur=0,r=0,siz=vec[i].size();
for(int l=0;l<siz;l++){
while(r<siz-1&&cur+vec[i][r+1]-vec[i][r]-1<=k){
r++;cur+=(vec[i][r]-vec[i][r-1]-1);
}
ans=max(ans,r-l+1);
cur-=vec[i][l+1]-vec[i][l]-1;
}
}
cout<<ans;
return 0;
}

最新文章

  1. C#设计模式-外观模式
  2. hadoop2.6---windows下开发环境搭建
  3. 360极速浏览器UA怪异以及如何用js判断360浏览器
  4. html表单应用
  5. keytool 获取证书信息
  6. Android入门教程之我见
  7. 【笔记】让DIV水平垂直居中的两种方法
  8. HDU 1498 50 years, 50 colors
  9. AzureDev 社区活动获奖者公布
  10. 【转】delphi 保存到txt文件
  11. 隐性URL与显性URL区别与SEO考虑
  12. Unity Shader入门精要读书笔记(一)序章
  13. Node.js Express 的安装和简单使用
  14. 桌面应用之electron开发与转换
  15. CSS——div垂直居中及div内文字垂直居中
  16. 了解计算机与操作系统发展阶段以及android操作系统的发展史
  17. 【Java并发编程】19、DelayQueue源码分析
  18. js增减日期
  19. ASP.NET MVC验证码演示(Ver2)
  20. Spring是什么 包括SpringBean SpringMVC SpringBoot SpringCloud

热门文章

  1. github版本库使用详细教程(命令行及图形界面版)
  2. POJ3694 Network 边双缩点+LCA+并查集
  3. HDU-1556-Color the ball (线段树和差分数组两种解法)
  4. P2152 [SDOI2009]SuperGCD
  5. Python 工具包 werkzeug 初探
  6. wpf ComboBox的SelectionBoxItem相关依赖属性
  7. Netty之WebSocket和四种IO介绍
  8. AJPFX关于JAVA StringBuffer的用法总结
  9. Dubbo 使用rest协议发布http服务
  10. ubuntu server 16.04安装GPU服务器