class Solution {
public:
long long countSubarrays(vector<int>& nums, long long k) {
int n = nums.size();
vector<long long> s(n + 10, 0);
for (int i = 0; i < n; i ++ )
s[i + 1] = s[i] + nums[i];
long long res = 0;
for (int i = 1, j = 1; i <= n; i ++ ) {
while (j <= i && (s[i] - s[j - 1]) * (i - j + 1) >= k) j ++ ;
if ((s[i] - s[j - 1]) * (i - j + 1) < k) res += i - j + 1;
}
return res;
}
}