123456789101112131415161718192021222324252627282930313233343536 |
- 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();
- }
- }
|