2 条题解
-
0117爱好者 (mengqingyu) LV 10 @ 2024-9-2 19:54:57
???
#include<iostream> #include<algorithm> using namespace std; int a[100010],f[100010]; struct gg{ int i; int s; }; gg c[100010]; bool cmp(gg a, gg b){ return a.s>b.s; } int main(){ int n,m,k,s=0; cin>>n>>m>>k; for(int i=1;i<=n;i++){ cin>>a[i]; c[a[i]].i=a[i]; c[a[i]].s++; } sort(c+1,c+m+1,cmp); for(int l=1;l<=m;l++){ int x=c[l].i; if(s>=c[l].s){ break; } int i=1,j=1,u=0,v=0;//v是已打卡次数,u是已跳过打卡次数 while(i<=n&&j<=n){//左指针移动的条件:i没有达到边界 if(u<=k){ if(a[j]==x){ v++; s=max(s,v); }else{ u++; } j++; }else{ if(a[i]==x){ v--; }else{ u--; } i++; } } } cout<<s; return 0; }
-
02024-6-1 13:02:20@
?
- 1
信息
- ID
- 3157
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 10
- 标签
- (无)
- 递交数
- 285
- 已通过
- 8
- 上传者