Codeforces Global Round 26 |
---|
Закончено |
Две версии этой задачи отличаются друг от друга. Возможно, вы захотите прочитать обе версии. Вы сможете делать взломы, только если обе версии решены.
Вам дан массив a длины n. Изначально c=0. Для каждого i от 1 до n (в порядке возрастания) выполните ровно одно из следующих действий:
Пусть максимальное возможное конечное значение c после описанной выше процедуры равно k. Найдите k.
Каждый тест состоит из нескольких наборов входных данных. Первая строка содержит одно целое число t (1≤t≤104) — количество наборов входных данных. Далее следует описание наборов входных данных.
Первая строка каждого набора входных данных содержит одно целое число n (2≤n≤2⋅105).
Вторая строка каждого случая содержит n целых чисел a1, a2, a3, …, an (−109≤ai≤109).
Гарантируется, что сумма n по всем наборам входных данных не превосходит 3⋅105.
Для каждого набора входных данных выведите одно целое число — значение k.
5410 -9 -3 481 4 3 4 1 4 3 43-1 -2 -34-1000000000 1000000000 1000000000 100000000041 9 8 4
6 24 6 4000000000 22
В первом наборе входных данных, если при каждом прибавлении брать абсолютное значение c, то в итоге получится 6. Можно показать, что это максимальный результат.
Во втором наборе входных данных присвоение абсолютного значения ничего не изменит, поэтому мы можем просто просуммировать массив, ничего не делая, чтобы получить 24.
В третьем наборе входных данных оптимально взять абсолютное значение c только один раз в конце, в результате чего мы получим ответ 6.
Название |
---|