比赛 NOIP_1 评测结果 AAAAAAAAAA
题目名称 画展 最终得分 100
用户昵称 CockRoachEr 运行时间 0.000 s
代码语言 C++ 内存使用 0.00 MiB
提交时间 2009-07-20 11:18:31
显示代码纯文本
#include<stdio.h>
#include<math.h>
#include<string.h>
#include<string>
#define maxlongint 2147000000
#include<stdlib.h>

	int i,j,k;
	int temp;
	int ans;
	int a[10000001];
	int jl[10000001];
	int n,m;
	int aa,b;
	int tot;
	int l,r,min;
	
int main (void)
{
	freopen("exhibit.in","r",stdin);
	freopen("exhibit.out","w",stdout);
	scanf("%d%d\n",&n,&m);

	for(i=1;i<=n;i++)
	{
		scanf("%d",&a[i]);
	}
	min=maxlongint;
	tot=0;
	l=0; r=0;
	for(;r<n;)
	{
		if(tot==m)
		{
			l++;
			jl[a[l]]--;
			if(jl[a[l]]==0)
			{
				tot--;
			}
		}
		else
		{
			r++;
			jl[a[r]]++;
			if(jl[a[r]]==1)
			{
				tot++;
			}
		}
		
		if (tot==m)
		{
			temp=r-l;
			if(temp<min)
			{
				min=temp;
				aa=l;
				b=r;
			}
		}
	}
	printf("%d %d\n",aa+1,b);
	return 0;
	
}