蒟蒻45分双指针代码求调
  • 板块P1638 逛画展
  • 楼主IridoYume
  • 当前回复0
  • 已保存回复0
  • 发布时间2023/9/13 00:18
  • 上次更新2023/11/2 21:07:24
查看原帖
蒟蒻45分双指针代码求调
752992
IridoYume楼主2023/9/13 00:18

RT

代码如下:

#include<bits/stdc++.h>
using namespace std;
int m,n;
int a[2000005];
int s[2000005],num;
int ansl,ansr;
int main(){
	cin>>n>>m;
	for(int i=1;i<=n;i++){
		cin>>a[i];
	}
	int l=1,r=1,ans=9999999,num=0;
	while(l<=r&&r<=n+1){
		if(num<m){
			r++;
			s[a[r-l]]++;
			if(s[a[r-l]]==1){
				num++;
			}
		}else{
			if(ans>r-l){
				ans=r-l;
				ansl=l;
				ansr=r-1;
			}
			s[a[l]]--;
			if(s[a[l]]==0){
				num--;
			}
			l++;
		}
	}
	cout<<ansl<<' '<<ansr<<endl;
	return 0;
} 
2023/9/13 00:18
加载中...