P1638 逛画展

点击查看代码
#include<bits/stdc++.h>
using namespace std;

const int N=1e6+10;
int n,m;
int a[N];
int cnt[N];

int main()
{
    ios::sync_with_stdio(0),cin.tie(0);
    cin>>n>>m;

    for(int i=1;i<=n;i++) cin>>a[i];

    int tot=0;
    int al,ar;
    int ans=1e9;

    int l=1;
    for(int r=1;r<=n;r++){
        if(cnt[a[r]]==0) tot++;
        cnt[a[r]]++;

        while(tot==m){
            if(ans>r-l+1){
                ans=r-l+1;
                al=l,ar=r;
            }
            cnt[a[l]]--;
            if(cnt[a[l]]==0) tot--;
            l++;
        }
    }

    cout<<al<<' '<<ar<<endl;

    return 0;
}
posted @ 2026-02-10 21:15  AnoSky  阅读(4)  评论(0)    收藏  举报