比赛 NOIP_1 评测结果 AAAAAAAAAA
题目名称 画展 最终得分 100
用户昵称 BYVoid 运行时间 0.000 s
代码语言 C++ 内存使用 0.00 MiB
提交时间 2008-09-03 20:31:52
显示代码纯文本
#include <iostream>
#include <fstream>
#define MAX 1000000
using namespace std;
ifstream fi("exhibit.in");
ofstream fo("exhibit.out");
int artist[MAX];
int cop[MAX];
int main()
{
	int i,j,cnt=1,minlen,a,b,N,M;
	fi >> N >> M;
	minlen=N+1;
	for (i=1;i<=N;i++)
		fi >> artist[i];
	cop[artist[i=j=1]]=1;
	while (j<=N)
		if (cnt<M)
		{
			if ((++cop[artist[++j]])==1)
				cnt++;
		}
		else
		{
			if (j-i+1<minlen)
				minlen=j-i+1,a=i,b=j;
			if ((--cop[artist[i++]])==0)
				cnt--;
		}
	fo << a << ' ' << b;
	fi.close();fo.close();
	return 0;
}