Codeforces Round 640 (Div. 4) |
---|
Закончено |
Обратите внимание на нестандартное ограничение по памяти в этой задаче.
С целью отсечения эффективных решений от неэффективных в этой задаче ограничение времени довольно строгое. Предпочтите использование компилируемых статически типизированных языков (например, C++). Если используете Python, то отсылайте решения на PyPy. Постарайтесь написать в самом деле эффективное решение.
Задан массив $$$a=[a_1, a_2, \ldots, a_n]$$$ ($$$1 \le a_i \le n$$$). Его элемент $$$a_i$$$ называется особым, если существует такая пара индексов $$$l$$$ и $$$r$$$ ($$$1 \le l < r \le n$$$), что $$$a_i = a_l + a_{l+1} + \ldots + a_r$$$. Иными словами, элемент называется особым, если он представим в виде суммы двух или более подряд идущих элементов массива (не важно, особых или нет).
Выведите количество особых элементов заданного массива $$$a$$$.
Например, если $$$n=9$$$ и $$$a=[3,1,4,1,5,9,2,6,5]$$$, то ответ равен $$$5$$$:
Обратите внимание, что среди элементов массива $$$a$$$ могут быть равные — если несколько элементов равны и являются особыми, то все они должны быть посчитаны в ответе.
В первой строке записано целое число $$$t$$$ ($$$1 \le t \le 1000$$$) — количество наборов входных данных в тесте. Далее следуют описания $$$t$$$ наборов входных данных.
Каждый набор задается двумя строками. В первой строке записано целое число $$$n$$$ ($$$1 \le n \le 8000$$$) — длина массива $$$a$$$. Во второй строке записаны целые числа $$$a_1, a_2, \dots, a_n$$$ ($$$1 \le a_i \le n$$$).
Гарантируется, что сумма значений $$$n$$$ по всем наборам входных данных не превосходит $$$8000$$$.
Выведите $$$t$$$ чисел — количества особых элементов для каждого из заданных массивов.
5 9 3 1 4 1 5 9 2 6 5 3 1 1 2 5 1 1 1 1 1 8 8 7 6 5 4 3 2 1 1 1
5 1 0 4 0
Название |
---|