1734. Sum of Subarray Minimums
class Solution {
public:
/**
* @param A: an array
* @return: the sum of subarray minimums
*/
int sumSubarrayMins(vector<int> &A) {
// Write your code here.
long res = 0;
long mod = 1000000007;
for (int i = 0; i < A.size(); i++) {
int l = i - 1;
while(l >= 0 && A[l] > A[i]){
l--;
}
int r = i + 1;
while(r < A.size() && A[r] >= A[i]){
r++;
}
res += (i - l) * (r - i) * A[i];
}
return res % mod;
}
};
Comments
Post a Comment