Main.java 1.2 KB

123456789101112131415161718192021222324252627282930313233343536
  1. import java.util.Scanner;
  2. public class Main {
  3. public static void main(String[] args) {
  4. Scanner sc = new Scanner(System.in);
  5. int N = sc.nextInt();
  6. for (int cid = 0; cid < N; cid++) {
  7. int n = sc.nextInt();
  8. int[] a = new int[n];
  9. int[] reward = new int[n];
  10. for (int i = 0; i < n; i++) {
  11. a[i] = sc.nextInt();
  12. }
  13. for (int i = 0, idx = 0; i < 2 * n; i++) {
  14. int pre = (idx + n - 1) % n;
  15. if (a[pre] < a[idx] && reward[idx] <= reward[pre]) {
  16. reward[idx] = reward[pre] + 1;
  17. }
  18. idx = (idx + 1) % n;
  19. }
  20. for (int i = 0, idx = 0; i < 2 * n; i++) {
  21. int nxt = (idx + 1) % n;
  22. if (a[nxt] < a[idx] && reward[idx] <= reward[nxt]) {
  23. reward[idx] = reward[nxt] + 1;
  24. }
  25. idx = (idx + n - 1) % n;
  26. }
  27. int sum = 0;
  28. for (int i = 0; i < n; i++) {
  29. sum += reward[i];
  30. }
  31. System.out.println(sum + n);
  32. }
  33. sc.close();
  34. }
  35. }