P1638(较简单题)求指正
  • 板块学术版
  • 楼主Sukilin
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/7/29 20:54
  • 上次更新2024/7/29 22:00:36
查看原帖
P1638(较简单题)求指正
959201
Sukilin楼主2024/7/29 20:54

P1638

#include<bits/stdc++.h>
using namespace std;
int n,m,l,r;
int len=2000009;
int a[1000009];
int t[2009];
int main(){
	cin>>n>>m;
	for(int i=0;i<n;i++) cin>>a[i];
	int i=0,j=-1;
	int s=0;
	while(i<n){
		while(j+1<n){
			if(s==m){
				if(len>j-i+1){
					len=j-i+1;
					l=i+1;r=j+1;
				}
				break;
			}
			j++;
			if(++t[a[j]]==1) s++;
		}
		t[a[i]]--;
		if(t[a[i]]==0) s--;
		i++;
	}
	cout<<l<<' '<<r<<endl;
	return 0;
}

#5 WA

2024/7/29 20:54
加载中...