Олимпиадный тренинг

Задача . C. Конкатенация скобочных последовательностей


Задача

Темы: реализация *1500

Скобочной последовательностью называется строка, состоящая только из символов «(» и «)».

Правильной скобочной последовательностью называется скобочная последовательность, которую можно преобразовать в корректное арифметическое выражение путем вставок между ее символами символов «1» и «+». Например, скобочные последовательности «()()», «(())» — правильные (полученные выражения: «(1)+(1)», «((1+1)+1)»), а «)(» и «(» — нет.

Вам задано \(n\) скобочных последовательностей \(s_1, s_2, \dots , s_n\). Найдите количество пар \(i, j \, (1 \le i, j \le n)\), таких что скобочная последовательность \(s_i + s_j\) является правильной скобочной последовательностью. Операция \(+\) означает конкатенацию, т. е. "()(" + ")()" = "()()()".

Если \(s_i + s_j\) и \(s_j + s_i\) являются правильными скобочными последовательностями и \(i \ne j\), в ответе должны учитываться обе пары \((i, j)\) и \((j, i)\). Также если строка \(s_i + s_i\) является правильной скобочной последовательностью, пара \((i, i)\) должна учитываться в ответе.

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

В первой строке задано число \(n \, (1 \le n \le 3 \cdot 10^5)\) — количество скобочных последовательностей. В следующих \(n\) строках содержатся скобочные последовательности — непустые строки, состоящие только из символов «(» и «)». Сумма длин всех скобочных последовательностей не превосходит \(3 \cdot 10^5\).

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

В единственной строке выведите целое число — количество пар \(i, j \, (1 \le i, j \le n)\), таких, что скобочная последовательность \(s_i + s_j\) является правильной скобочной последовательностью.

Примечание

В первом тестовом примере подходящие пары \((3, 1)\) и \((2, 2)\).

Во втором тестовом примере любая пара подходит, а именно \((1, 1), (1, 2), (2, 1), (2, 2)\).


Примеры
Входные данныеВыходные данные
1 3
)
()
(
2
2 2
()
()
4

time 2000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя