求助-P1638 逛画展
  • 板块灌水区
  • 楼主liyuwei2333
  • 当前回复0
  • 已保存回复0
  • 发布时间2023/10/4 22:27
  • 上次更新2023/11/2 15:38:51
查看原帖
求助-P1638 逛画展
1015471
liyuwei2333楼主2023/10/4 22:27

WA code:

#include<iostream>
#include<iomanip>
#include<cmath>
#include<map>
#include<string>
#include<algorithm>
#include<cstdio>
#include<stdio.h>
#include<ctime>
#include<queue>
#include<cstring>
#include<vector>
#define sc scanf
#define pr printf
using namespace std;
int n,m,vis[1000001],p[10086],cnt,len,l=1,r,minn=2100000000,a,b;
void hz()
{
	for(int i=1;i<=n;i++)
	{
		vis[p[i]]++;
		while(r<=n)
		{
			if(cnt<m)
			{
				r++;
				if(vis[p[r]]!=0)
				{
					cnt++;
					vis[p[r]]++;
				}
			}
			else if(cnt==m)
			{
				if(vis[l]>=2)
				{
					vis[l]--;
				}
				else
				{
					vis[l]--;
					cnt--;
					if(l-r+1<minn)
					{
						minn=l-r+1;
						a=l;
						b=r;
					}
				}
				l++;
			}
		}
	}

}
int main(){
	cin>>n>>m;
	for(int i=1;i<=n;i++)
	{
		cin>>p[i];
	}
	hz();
	cout<<a<<" "<<b;
return 0;}

大佬们帮忙看看吧

2023/10/4 22:27
加载中...