Skip to content
Rain Hu's Workspace
Go back

[LeetCode] 1052. Grumpy Bookstore Owner

Rain Hu
class Solution {
public:
    int maxSatisfied(vector<int>& customers, vector<int>& grumpy, int k) {
        int n = customers.size();
        int sum = 0;
        for (int i = 0; i < n; i++) {
            if (!grumpy[i]) {
                sum += customers[i];
                customers[i] = 0;
            }
        }
        for (int i = 0; i < k; i++) {
            sum += customers[i];
        }
        int res = sum;
        for (int i = k; i < n; i++) {
            sum += (customers[i] - customers[i-k]);
            res = max(res, sum);
        }
        return res;
    }
};

Share this post on:

Previous
[LeetCode] 1461. Check If a String Contains All Binary Codes of Size K
Next
[LeetCode] 2379. Minimum Recolors to Get K Consecutive Black Blocks