|
@@ -0,0 +1,36 @@
|
|
|
+import java.util.Scanner;
|
|
|
+
|
|
|
+public class Main {
|
|
|
+ public static void main(String[] args) {
|
|
|
+ Scanner sc = new Scanner(System.in);
|
|
|
+ int N = sc.nextInt();
|
|
|
+ for (int cid = 0; cid < N; cid++) {
|
|
|
+ int n = sc.nextInt();
|
|
|
+ int[] a = new int[n];
|
|
|
+ int[] reward = new int[n];
|
|
|
+ for (int i = 0; i < n; i++) {
|
|
|
+ a[i] = sc.nextInt();
|
|
|
+ }
|
|
|
+ for (int i = 0, idx = 0; i < 2 * n; i++) {
|
|
|
+ int pre = (idx + n - 1) % n;
|
|
|
+ if (a[pre] < a[idx] && reward[idx] <= reward[pre]) {
|
|
|
+ reward[idx] = reward[pre] + 1;
|
|
|
+ }
|
|
|
+ idx = (idx + 1) % n;
|
|
|
+ }
|
|
|
+ for (int i = 0, idx = 0; i < 2 * n; i++) {
|
|
|
+ int nxt = (idx + 1) % n;
|
|
|
+ if (a[nxt] < a[idx] && reward[idx] <= reward[nxt]) {
|
|
|
+ reward[idx] = reward[nxt] + 1;
|
|
|
+ }
|
|
|
+ idx = (idx + n - 1) % n;
|
|
|
+ }
|
|
|
+ int sum = 0;
|
|
|
+ for (int i = 0; i < n; i++) {
|
|
|
+ sum += reward[i];
|
|
|
+ }
|
|
|
+ System.out.println(sum + n);
|
|
|
+ }
|
|
|
+ sc.close();
|
|
|
+ }
|
|
|
+}
|