题目描述
$小A开了个玻璃球商店,商店里有N个玻璃球,从左到右排成一条直线,依次编号为1…N ,这N个玻璃球共有M种不同的类型,编号为i的玻璃球的种类为A[i]。小A在出售玻璃球时候有个习惯,他要求客户购买的玻璃球的编号必须是连续的,否则他就拒绝出售。小明想要得到所有种类的玻璃球,但是每个玻璃球都需要1元钱,小明不希望花费太多的钱。请你帮小明算算,他应该如何购买才能使得花费最低。$
输入格式
$第1行:两个空格分隔的整数N和M,分别表示玻璃球的数量和种类。$
$第2行:N个空格分隔的整数,其中第i个整数A[i],表示编号为i的玻璃球的种类。$
输出格式
$一行:两个空格分隔的整数x和y,表示小明如果想要用最少的钱买到所有种类的玻璃球,那么他需要购买的连续玻璃球的最小编号和最大编号,如果有多个满足条件的答案,输出最小编号最小的那一组答案。$
输入输出样列
输入样例1:
12 5
2 5 3 1 3 2 4 1 1 5 4 3
输出样例1:
2 7
说明
【数据范围】
$有20%的数据: 1 <= N <= 200, 1 <= M <= 20。$
$另有30%的数据: 1 <= N <= 10^5, 1 <= M <= 10^3;$
$对于100%的数据:1 <= N <= 10^6,1 <= M <= 10^5;$
$数据保证:问题一定有解。$
$【耗时限制】1000ms 【内存限制】256MB$