Учитывая набор из N чисел в массиве.Дано Q запросов.Каждый запрос содержит 1 число х.
Для каждого запроса необходимо добавить x к каждому элементу массива, а затем сообщить сумму абсолютных значений в массиве.
Примечание. Изменения в массиве являются постоянными.См. Пример для более подробной информации.
Формат ввода
Первая строка содержит N, количество элементов в массиве.Следующая строка содержит N разделенных пробелом целых чисел массива.Следующая строка содержит Q (количество запросов).Следующая строка содержит целые числа, разделенные пробелом Q (число x).
Формат вывода
Для каждого запроса выведите сумму в новой строке.
Ограничения
1 ≤ N ≤ 500000
1 ≤ Q ≤ 500000
-2000 ≤ число в каждом запросе ≤ 2000
-2000 ≤ значение элемента массива ≤ 2000
Sample Input
3
-1 2 -3
3
1 -2 3
Sample Output
5
7
6
Пояснение
После запроса 1: [0, 3, -2] => сумма = 0 + 3 + 2 = 5
После запроса 2: [-2, 1, -4] => сумма = 2 + 1 + 4 = 7
после запроса 3: [1, 4, -1] => сумма = 1 + 4 + 1 = 6
#include<stdio.h>
#include<stdlib.h>
int main()
{
int n,*a,q,*aq;
long int sum=0;
scanf("%d",&n);
a=(int*)malloc(sizeof(int)*n);
for(int i=0;i<n;i++)
scanf("%d",&a[i]);
scanf("%d",&q);
aq=(int*)malloc(sizeof(int)*q);
for(int i=0;i<n;i++)
scanf("%d",&aq[i]);
for(int i=0;i<q;i++)
{
for(int j=0;j<n;j++)
{
sum+=abs(aq[i]+a[j]);
a[j]=aq[i]+a[j];
}
printf("%ld\n",sum);
sum=0;
}
}
В некоторых тестовых случаях истекло время ожидания.