问题 3595 --丰盛的晚宴

3595: 丰盛的晚宴

题目描述

  Fz是个美食家,他经常自己烹饪一些美味佳肴来供自己的客人享用。

这天,Fz又有了一批重要的客人:机房的全体同仁。于是他决定烹饪一餐无与伦比的美味。但是,当Fz看到自家的冰箱时,不禁皱了眉头——空的。于是Fz不得不赶快到菜市场准备原料去了。

菜市场的n个店铺分布在一条直线上,每个店铺只供应一种原料,我们将这些原料从1至m标号。Fz可以做m种宴席,第k种宴席恰好需要前k种原料,并且对于这种大厨来说,用得原料越多显然就越好。但是Fz现在既希望能够做一餐最好的晚餐,也希望能够花尽量少的时间,所以他规定:
1) 自己可以从任意一个店铺进入菜市场;
2) 自己每次可以从一个店铺移动到一个相邻的店铺;
3) 自己不会经过两个卖同样原料的店铺;
4)自己经过的店铺所供应的原料刚好能够做一顿宴席不会有多。


给定一个长度为n的整数序列,元素定义域为[1  ..  n],求其中一个最长的连续子序列S,使得其恰好为一个1至|S|的排列。

输入

第一行有一个数T,表示数据组数,对于每组数据:
接下来T组数据:
第一行一个整数n,表示菜市场长度;
第二行n个数,表示对菜市场的描述;

对于50%的数据,有:
1 <= n <= 1000,1 <= T <= 100;
对于另外50%的数据,有:
1 <= n <= 2 * 105;1 <= T <= 10;

输出

每组数据只有一行,两个数p、q,表示|S|  =  p,且|S|的最早可能的起始位置为q(无解时q  =  0)

样例输入输出

输入#1 复制
6
4
4 3 2 1 
4
2 1 2 3 
4
3 3 2 1 
4
2 1 1 3 
4
3 2 4 1 
4
2 1 4 2
输出#1 复制
4 1
3 2
3 2
2 1
4 1
2 1

提示

序号 标题 作者 发表时间 费用 订购数 操作