Good Bye 2024: 2025 is NEAR |
---|
Закончено |
Это простая версия задачи. Отличие между версиями заключается в том, что в этой версии вам нужно вычислить минимальную длину массива. Вы можете делать взломы только в том случае, если решили все версии этой задачи.
Ирис хранит целочисленный массив $$$a_1, a_2, \ldots, a_n$$$. Она знает, что этот массив обладает интересным свойством: максимальное абсолютное значение всех элементов меньше или равно сумме всех элементов, то есть $$$\max(\lvert a_i\rvert) \leq \sum a_i$$$.
Ирис определяет скучность массива как максимальную сумму его подмассива$$$^{\text{∗}}$$$.
Приближается день рождения Ирис, и Виктор собирается прислать ей ещё один массив $$$b_1, b_2, \ldots, b_m$$$. По некоторым, казалось бы, очевидным причинам он решает, что массив $$$b_1, b_2, \ldots, b_m$$$ должен обладать следующими свойствами.
Даже при таких ограничениях, как указано выше, всё равно существует слишком много возможных подарков. Поэтому Виктор просит вас вычислить значение $$$\boldsymbol{m}$$$ любого массива $$$b_1, b_2, \ldots, b_m$$$, удовлетворяющего всем вышеприведенным условиям. Он обещает вам: если вы успешно поможете ему, он поделится с вами кусочком праздничного торта Ирис.
Обратите внимание: поскольку входные данные большие, вам, возможно, потребуется оптимизировать их для решения этой задачи.
Например, в C++ достаточно использовать следующие строки в начале функции main():
int main() {
std::ios::sync_with_stdio(false);
std::cin.tie(nullptr); std::cout.tie(nullptr);
}
$$$^{\text{∗}}$$$Массив $$$c$$$ является подмассивом массива $$$d$$$, если $$$c$$$ может быть получен из $$$d$$$ удалением нескольких (возможно, ни одного или всех) элементов с начала и нескольких (возможно, ни одного или всех) элементов с конца.
$$$^{\text{†}}$$$Последовательность $$$c$$$ является подпоследовательностью $$$d$$$, если $$$c$$$ может быть получена из $$$d$$$ удалением нескольких (возможно, ни одного или всех) элементов на произвольных позициях.
Каждый тест состоит из нескольких наборов входных данных. Первая строка содержит одно целое число $$$t$$$ ($$$1 \leq t \leq 10^5$$$) — количество наборов входных данных. Далее следует описание наборов входных данных.
Первая строка каждого набора входных данных содержит одно целое число $$$n$$$ ($$$1 \leq n \leq 3\cdot 10^6$$$) — длина массива $$$a_1, a_2, \ldots, a_n$$$.
Вторая строка каждого набора входных данных содержит $$$n$$$ целых чисел $$$a_1, a_2, \ldots, a_n$$$ ($$$-10^9 \leq a_i \leq 10^9$$$) — исходный массив. Гарантируется, что $$$\max(\lvert a_i\rvert) \leq \sum a_i$$$.
Гарантируется, что сумма $$$n$$$ по всем наборам входных данных не превосходит $$$3\cdot 10^6$$$.
Для каждого набора входных данных выведите одну строку, содержащую целое число: длину $$$m$$$ допустимого массива $$$b$$$.
441 2 3 442 -3 2 2102 -7 6 3 -1 4 2 -5 8 -4204 -2 4 3 -2 1 5 2 3 6 -5 -1 -4 -2 -3 5 -3 1 -4 1
4 6 14 25
В первом наборе входных данных, $$$a=[1, 2, 3, 4]$$$. Единственным массивом $$$b$$$, который удовлетворяет всем вышеприведенным свойствам, является $$$[1, 2, 3, 4]$$$, поэтому мы должны вывести $$$4$$$.
Во втором наборе входных данных, $$$a=[2, -3, 2, 2]$$$. Возможными массивами $$$b$$$ являются $$$[1, 2, -3, 2, -1, 2]$$$ и $$$[2, 1, -3, 2, -1, 2]$$$, поэтому мы должны вывести $$$6$$$.
Название |
---|