CF1692H Gambling

题目描述

Marian 在一个赌场,赌场的游戏规则如下: 每一轮开始前,玩家选一个在 $1$ 到 $10^9$ 。然后,掷出一个有着 $10^9$ 面的骰子,会随机出现一个在 $1$ 与 $10^9$ 之间的数。如果玩家猜对了,他们的钱就会翻一番,否则他们的钱会被折半。 Marian 可以预测未来,他知道在接下来 $n$ 轮里骰子上的数,即 $x_1,x_2,...,x_n$。 Marian 会选择三个整数 $a,l$ 和 $r$($l \le r$)。他会玩 $r-l+1$ 轮。每一轮,他都猜同一个数 $a$。一开始(在第 $l$ 轮之前)他有 $1$ 美元。 Marian 请你帮助他决定 $a,l$ 和 $r$($1\le a\le 10^9,1\le l\le r\le n$),让他最后的钱最多。 注:在折半或翻番的过程中不会进行游戏,也不会有精度问题。举个例子,Marian 在游戏中可能会有 $\frac{1}{1024},\frac{1}{128},\frac{1}{2},1,2,4$ 等等(任何可以表示为 $2^t$ 的数,其中 $t$ 为非 $0$ 整数)。

输入格式

第一行包含一个整数 $t$($1\le t\le 100$),即数据的组数。 每组数据的第一行包含一个整数 $n$($1\le n\le 2\times 10^5$)。 每组数据的第二行包含 $n$ 个整数 $x_1,x_2...x_n$($1\le x_i\le 10^9$),$x_i$ 表示骰子在第 $i$ 轮掷出的数字。 数据保证所有数据中的 $n$ 之和不大于 $2\times 10^5$。

输出格式

每组数据输出三个整数 $a,l$ 与 $r$,使得 Marian 能得到最多的钱。如果有多个答案,可以输出它们中的任意一个。

说明/提示

对于第一组数据,最好的选择是 $a=4,l=1,r=5$,游戏会这样进行: - Marian 最开始有 $1$ 美元。 - 第一轮结束后,Marian 会有 $2$ 美元,因为骰子上掷出的数与 Marian 猜的数相同。 - 第二轮结束后,Marian 会有 $4$ 美元,因为他又猜对了。 - 第三轮结束后,Marian 会有 $2$ 美元,因为他猜了 $4$,而 $3$ 是正确答案。 - 第四轮结束后,Marian 又会有 $4$ 美元,因为他又又猜对了。 - 最后一轮结束后,Marian 会 $8$ 美元,因为他又又又猜对了。 第二组数据有多种答案,但可以证明 Marian 最后最多只有 $2$ 美元,因此只要 $l=r$ 且 $a$ 的数字合理,都是正确答案