We have an array A
of integers, and an array queries
of queries.
For the i
-th query val = queries[i][0], index = queries[i][1]
, we add val to A[index]
. Then, the answer to the i
-th query is the sum of the even values of A
.
(Here, the given index = queries[i][1]
is a 0-based index, and each query permanently modifies the array A
.)
Return the answer to all queries. Your answer
array should have answer[i]
as the answer to the i
-th query.
class Solution { public: vector<int> sumEvenAfterQueries(vector<int>& A, vector<vector<int>>& queries) { int initval = 0; vector<int> ret; for(int v : A) { if(v % 2 == 0) initval += v; } for(auto v : queries) { int before = A[v[1]]; A[v[1]] += v[0]; if(before % 2 == 0) initval -= before; if(A[v[1]] % 2 == 0) initval += A[v[1]]; ret.push_back(initval); } return ret; } };
原文地址:https://www.cnblogs.com/ethanhong/p/10350107.html
时间: 2024-11-13 09:41:03