aboutsummaryrefslogtreecommitdiff
path: root/sum_even_num_queries.cpp
blob: a58e3b2cfed3d1fe0f66ee08c8186c3fe9cd62f9 (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 & 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;
  }
};