fork download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6.  
  7. /* Name of the class has to be "Main" only if the class is public. */
  8. class Ideone
  9. {
  10. public static void main (String[] args) throws java.lang.Exception
  11. {
  12. // your code goes here
  13. Scanner in = new Scanner(System.in);
  14. int n = in.nextInt();
  15.  
  16. int b[] = new int[n+1];
  17.  
  18. for (int i = 1; i <= n; i++) {
  19. b[i] = in.nextInt();
  20. }
  21.  
  22. int prefix[] = new int[n+1];//1-base indexing
  23. int suffix[] = new int[n+1];
  24.  
  25. prefix[1] = 1;
  26.  
  27. for(int i =2;i<=n;i++){
  28. if(b[i-1] >b[i]){
  29. prefix[i] = prefix[i-1] +1;
  30. }
  31. else{
  32. prefix[i] = 1;
  33. }
  34. }
  35.  
  36. suffix[n] = 1;
  37. for(int j=n-1;j>=1;j--){
  38. if(b[j]<b[j+1]){
  39. suffix[j] = suffix[j+1] +1;
  40. }
  41. else{
  42. suffix[j] = 1;
  43. }
  44. }
  45.  
  46. long valleys = 0;
  47. for(int i =2;i<n;i++){
  48. if(b[i-1] >b[i] && b[i+1]>b[i]){
  49. int leftPart = prefix[i-1];
  50. int rightPart = suffix[i+1];
  51. valleys += (long)(leftPart*rightPart);
  52. }
  53. }
  54. System.out.println(valleys);
  55.  
  56. }
  57. }
Success #stdin #stdout 0.17s 56600KB
stdin
6
5 4 3 2 11 12
stdout
6