fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. #define ll long long int
  4. const int M = 1e9 + 7;
  5.  
  6. int main()
  7. {
  8. ios_base::sync_with_stdio(false);
  9. cin.tie(NULL);
  10. int n;
  11. cin >> n;
  12. vector<int> v(n);
  13. for (int i = 0; i < n; i++)
  14. cin >> v[i];
  15.  
  16. int i = 0;
  17. int ans = 0;
  18. while (i < n)
  19. {
  20. int st = i, curr = i;
  21. int dec = 0, inc = 0;
  22. while (i + 1 < n && v[i + 1] < v[i])
  23. {
  24. dec = 1;
  25. curr++;
  26. i++;
  27. }
  28. if (i + 1 < n && v[i + 1] == v[i])
  29. {
  30. i++;
  31. dec = 0;
  32. inc = 0;
  33. continue;
  34. }
  35. while (i + 1 < n && v[i + 1] > v[i] && dec == 1)
  36. {
  37. inc = 1;
  38. i++;
  39. }
  40. if (inc == 1 && dec == 1)
  41. {
  42. ans += (curr - st) * (i - curr);
  43. }
  44. else
  45. i++;
  46. }
  47.  
  48. cout << ans << endl;
  49. return 0;
  50. }
  51.  
Success #stdin #stdout 0s 5316KB
stdin
12
1 2 5 4 3 2 12 12 11 6 1 2 
stdout
6