萌新刚学 OI,TLE on 15 了,求助
查看原帖
萌新刚学 OI,TLE on 15 了,求助
533162
wanxinlian楼主2022/9/25 22:25
#include<bits/stdc++.h>
using namespace std;
 
int k,n,a[5000005],ans;
 
map<int,int> mp;
 
int main() {
    cin>>n>>k;
    for(int i=1;i<=n;i++) cin>>a[i];
    int l=1,r=1,cnt=0,ansl=1,ansr=1;
    for(;r<=n;r++) {
        if(mp[a[r]]==0) {
            while(cnt>=k) {
                if(mp[a[l]]==l) {
                    cnt--;
                    mp[a[l]]=0;
                }
                l++;
            }
        }
        if(mp[a[r]]==0) cnt++;
        mp[a[r]]=r;
        if(ans<r-l+1) {
            ans=r-l+1;
            ansl=l;
            ansr=r;
        }
    }
    cout<<ansl<<" "<<ansr<<endl;
    return 0;
}
2022/9/25 22:25
加载中...