前缀和
时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
Special Judge, 64bit IO Format: %lld

题目描述

\hspace{15pt}给定一个长度为 n 的整数序列 a_1, a_2, \dots, a_n
\hspace{15pt}你需要恰好删除一个元素,删除后,剩余元素按原顺序组成新序列 b
\hspace{15pt}定义该序列的“前缀和总和”为:

\displaystyle S = \sum_{k=1}^{|b|} \sum_{j=1}^{k} b_j

\hspace{15pt}你的任务是选择一个要删除的位置 i,使得上述前缀和总和 S 最大,并输出这个位置。
\hspace{15pt}如果有多个最优解,输出任意一个。

输入描述:

\hspace{15pt}每个测试文件均包含多组测试数据。第一行输入一个整数 T\left(1\le T\le 10^4\right) 代表数据组数,每组测试数据描述如下:

\hspace{15pt}第一行包含一个整数 n\left(1 \le n \le 2 \times 10^5 \right)
\hspace{15pt}第二行包含 n 个整数 a_1, a_2, \dots, a_n \left( -10^9 \le a_i \le 10^9 \right)

\hspace{15pt}除此之外,保证单个测试文件的 n 之和不超过 2\times10^5

输出描述:

\hspace{15pt}对于每一组测试数据,在一行上输出一个整数,表示应删除的元素位置(下标从 1 开始)。

\hspace{15pt}如果存在多个解决方案,您可以输出任意一个,系统会自动判定是否正确。注意,自测运行功能可能因此返回错误结果,请自行检查答案正确性。
示例1

输入

复制
2
4
4 -5 3 1
5
1 -2 3 -1 2

输出

复制
2
2

说明

\hspace{15pt}对于第一组数据,删除第 2 个元素 -5 后,得到序列 [4,3,1]。其前缀和分别为 4,7,8,总和为 19
\hspace{15pt}对于第二组数据,删除第 2 个元素 -2 后,得到序列 [1,3,-1,2]。其前缀和分别为 1,4,3,5,总和为 13