#P3320. Jessica's Reading Problem

    ID: 2321 传统题 1000ms 256MiB 尝试: 2 已通过: 1 难度: 10 上传者: 标签>其他双指针扫描POJ Monthly--2007.08.05Jerry

Jessica's Reading Problem

题目描述

Jessica是个深受众多男生喜爱的可爱女孩。最近她遇到了一个难题:期末考试临近,但她几乎没有花时间复习。为了通过考试,她必须掌握一本非常厚的教科书中的所有知识点。这本教科书的作者和其他作者一样,对知识点的描述十分繁琐,导致有些知识点被重复提及多次。Jessica认为,只要她能确保每个知识点至少阅读一次,就能通过考试。因此她决定只阅读书中包含所有知识点的某个连续部分,并且希望这个部分尽可能薄。

有个勤奋的男生已经手动为这本教科书的每一页标注了对应的知识点,为他的追求之路取得了重大进展。现在需要你帮忙:根据这些标注,帮Jessica确定应该阅读的最短连续部分。

为方便起见,每个知识点都被编码为一个非负整数ID。

输入格式

  • 第一行输入一个整数P(1 ≤ P ≤ 1000000),表示教科书的页数
  • 第二行包含P个非负整数,描述每一页的知识点内容。第一个数对应第一页,第二个数对应第二页,以此类推。所有数字都在32位有符号整数范围内

输出格式

输出一个整数:包含书中所有知识点的最短连续部分的页数

输入样例

5
1 8 8 8 1

输出样例

2

题目来源

POJ Monthly--2007.08.05, Jerry

注:题目要求找出包含所有不同数字的最短连续子数组的长度,是典型的滑动窗口问题。