Leetcode-985 Sum of Even Numbers After Queries(查询后的偶数和)

 1 #define _for(i,a,b) for(int i = (a);i < (b);i ++)
 2 #define pb push_back
 3 
 4 class Solution
 5 {
 6     public:
 7         vector<int> sumEvenAfterQueries(vector<int>& A, vector<vector<int>>& queries)
 8         {
 9             vector<int> rnt;
10             int rntEle = 0;
11             _for(i,0,A.size())
12                 if((A[i]&0x1)==0)
13                     rntEle += A[i];
14             for(int i = 0;i < queries.size();i ++)
15             {
16                 if((A[queries[i][1]]&0x1) && ((A[queries[i][1]]+queries[i][0])&0x1))
17                 {
18                     A[queries[i][1]] += queries[i][0];
19                     rnt.pb(rntEle);
20                 }
21                 else if((A[queries[i][1]]&0x1)==0 && ((A[queries[i][1]]+queries[i][0])&0x1)==0)
22                 {
23                     rntEle += queries[i][0];
24                     A[queries[i][1]] += queries[i][0];
25                     
26                     rnt.pb(rntEle);
27                 }
28                 else if((A[queries[i][1]]&0x1) && ((A[queries[i][1]]+queries[i][0])&0x1)==0)
29                 {
30                     rntEle += A[queries[i][1]]+queries[i][0];
31                     A[queries[i][1]] += queries[i][0];
32                     rnt.pb(rntEle);
33                 }
34                 else
35                 {
36                     rntEle -= A[queries[i][1]];
37                     A[queries[i][1]] += queries[i][0];
38                     
39                     rnt.pb(rntEle);
40                 }
41                 
42             }
43             return rnt;
44         }
45 };

 

posted @ 2019-02-03 14:59  Asurudo  阅读(219)  评论(0编辑  收藏  举报