795. Number of Subarrays with Bounded Maximum
Bad int numSubarrayBoundedMax(vector<int>& A, int L, int R) { bool valid = false; int start = -1; int sub_start = -1; int r = 0; for (int i = 0; i < A.size(); i++) { if (A[i] <= R) { if (start == -1) { start = i; } if (A[i] >= L) { valid = true; if (sub_start != -1) { r -= ((i - sub_start) * (i - sub_start + 1) / 2); sub_start = -1; } } else if (sub_start == -1) { sub_start = i; } } else { if (valid) { r += ((i - start) * (i - start + 1)) / 2; if (sub_start != -1) { r -= ((i - sub_start) * (i - sub_start + 1) / 2); } } // reset ...