aboutsummaryrefslogtreecommitdiff
path: root/sum_even_num_queries.cpp
blob: 2c3b460cf903c778bc5c16aa6d97aead4a601b2e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include "leetcode.h"

class Solution {
public:
  vector<int> sumEvenAfterQueries(vector<int> &nums, vvd(int) & queries) {
    int evenSum = 0;
    for (auto x : nums)
      if (x % 2 == 0)
        evenSum += x;
    vector<int> ans;
    for (auto q : queries) {
      int val = q[0], idx = q[1];
      if (nums[idx] % 2 == 0)
        evenSum -= nums[idx];
      nums[idx] += val;
      if (nums[idx] % 2 == 0)
        evenSum += nums[idx];
      ans.push_back(evenSum);
    }
    return ans;
  }
};