Skip to content

Latest commit

 

History

History
14 lines (13 loc) · 403 Bytes

count-subarrays-with-fixed-count.md

File metadata and controls

14 lines (13 loc) · 403 Bytes

Count Subarrays With Fixed Count

long long countSubarrays(vector<int>& A, int minK, int maxK) {
    long res = 0, jbad = -1, jmin = -1, jmax = -1, n = A.size();
    for (int i = 0; i < n; ++i) {
        if (A[i] < minK || A[i] > maxK) jbad = i;
        if (A[i] == minK) jmin = i;
        if (A[i] == maxK) jmax = i;
        res += max(0L, min(jmin, jmax) - jbad);
    }
    return res;
}