0分蒟蒻急救

P1638 逛画展

```cpp #include<bits/stdc++.h> using namespace std; int n,m; int a[1000010]; int use[2010],cnt; int ansl,ansr,sum,l=1,r=1; int main() { cin>>n>>m; for(int i=1;i<=n;i++)scanf("%d",&a[i]); ansr=1e9; while(r<=n+1) { if(cnt==m) { if(r-l+1<ansr-ansl+1) ansl=l,ansr=r; use[a[l]]--; if(use[a[l]]==0)cnt--; l++; } else { if(use[a[r]]==0)cnt++; use[a[r]]++; r++; } } cout<<ansl<<" "<<ansr-1; return 0; } ``` 上面的代码测试过AC了,其实这个代码不是很标准,可以看一下标准代码
by yu18250787255 @ 2023-12-23 19:47:19


|