提示: 欢迎访问OurACM平台。
Problem 1743 最小覆盖子串

Accept: 94    Submit: 513
Time Limit: 1000 mSec    Memory Limit : 32768 KB

Problem Description

给定一个含有N个元素的序列A,你的任务就是求出序列A的最小覆盖子串的长度。

本题中的一些定义:

串S,是由零个或多个元素组成的序列,其下标从1开始计数。Si 表示串 S 中第 i 个位置的元素值,串的长度N指的是串中元素的个数。 串中任意连续(非空)个元素组成的序列称为该串的子串。子串可以表示成S’:Si,…,Sj,1≤i≤j≤N。 如果子串 S’ 中的不同元素值个数与原串 S 中的不同元素值个数相同,我们称子串 S’ 为原串 S 的覆盖子串,长度最小的覆盖子串称之为原串的最小覆盖子串,我们的任务就是求出最小覆盖子串的长度。

Input

有多组输入数据,输入数据的第一行为一个整数N,表示序列中有N个整数(1≤ N ≤1,000,000),序列中不同元素值的个数不超过100,000。第二行有N个整数A1,…,An。

0≤ Ai ≤ 1,000,000,000

1≤i≤N

Output

对于每组输入数据,输出一行一个整数L,表示给定序列的最小覆盖子串的长度。

Sample Input

5 1 8 8 8 1 11 5 1 5 3 2 6 3 8 4 2 5

Sample Output

2 8

Source

oaiei

Submit  Back  Status  Discuss