int* sumEvenAfterQueries(int* A, int ASize, int** queries, int queriesSize, int* queriesColSize, int* returnSize){
int* answer = (int*)calloc(queriesSize,sizeof(int));
int SumEven = 0;
for (int k=0; k<ASize; k++) //先求出A中的偶数和
{
if (A[k] % 2 == 0)
{
SumEven += A[k];
}
}
for (int i=0; i<queriesSize; i++)
{
if (A[queries[i][1]] % 2 == 0) //根据当前遍历的数奇偶情况进行处理
{
SumEven-= A[queries[i][1]];
}
A[queries[i][1]] += queries[i][0];
if (A[queries[i][1]] % 2 == 0) //根据当前遍历的数奇偶情况进行处理
{
SumEven+= A[queries[i][1]];
}
answer[i] = SumEven;
}
*returnSize = queriesSize;
return answer;
}
原文:https://www.cnblogs.com/ganxiang/p/13606676.html