QOJ.ac

QOJ

Límite de tiempo: 6 s Límite de memoria: 1024 MB Puntuación total: 10

#8418. Очень любимая последовательность [C]

Estadísticas

3SUM — это известная алгоритмическая задача, в которой для заданной последовательности целых чисел $c_1, c_2, \dots, c_m$ необходимо найти три индекса $i < j < k$ таких, что $c_i + c_j + c_k = 0$.

Неизвестно решение этой задачи для произвольных последовательностей целых чисел со сложностью существенно лучше, чем $O(m^2)$. К счастью, Байтек этого не знает и решил задачу для своей «Очень Любимой Последовательности».

«Любимая последовательность» Байтека состоит из $n$ целых чисел $a_1, a_2, \dots, a_n$. «Очень Любимая Последовательность» Байтека получается путем рассмотрения всех $\frac{n(n+1)}{2}$ непрерывных подотрезков «Любимой последовательности», вычисления суммы элементов в каждом из них и помещения всех этих сумм в одну последовательность (с учетом повторений). Суммы подотрезков упорядочиваются по возрастанию индекса начала подотрезка, а в случае равенства — по возрастанию индекса конца подотрезка.

Чтобы задача не была слишком простой, Байтека не интересует нахождение тройки индексов $i < j < k$. Он хочет узнать точное количество всех троек индексов $i < j < k$, соответствующих элементам, сумма которых равна нулю. Помогите ему и напишите программу, которая вычислит количество таких троек!

Входные данные

В первой строке стандартного ввода находится целое число $n$ ($1 \le n \le 500$), обозначающее длину «Любимой последовательности» Байтека.

В следующей строке находятся $n$ целых чисел $a_i$ ($|a_i| \le 20\,000$), обозначающих элементы «Любимой последовательности» Байтека.

Выходные данные

В первой и единственной строке стандартного вывода должно находиться одно целое число — количество троек индексов $i < j < k$, соответствующих элементам «Очень Любимой Последовательности» Байтека, сумма которых равна $0$.

Примеры

Входные данные 1

3
7 -4 -2

Выходные данные 1

1

Входные данные 2

10
0 0 0 0 0 0 0 0 0 0

Выходные данные 2

26235

Примечание

В первом примере «Очень Любимая Последовательность» — это $[7, 3, 1, -4, -6, -2]$, и единственная тройка элементов, сумма которых равна $0$, это $3 + 1 + (-4)$, поэтому ответ равен $1$.

Во втором примере «Очень Любимая Последовательность» Байтека состоит из пятидесяти пяти нулей. Для любых трех индексов $i < j < k$ сумма соответствующих им элементов равна $0$, а количество таких троек равно $26\,235$.

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.