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

Задача . B. Таня и конфеты


Задача

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

У Тани есть \(n\) конфет, пронумерованных от \(1\) до \(n\). \(i\)-я конфета весит \(a_i\).

Она планирует съесть ровно \(n-1\) конфету и отдать оставшуюся конфету своему папе. Таня ест конфеты в порядке увеличения их номеров, ровно по одной конфете каждый день.

Ваша задача — найти количество таких конфет \(i\) (назовем эти конфеты хорошими), что если папа получит \(i\)-ю конфету, то сумма весов конфет, которые Таня съест в четные дни, будет равна сумме весов конфет, которые Таня съест в нечетные дни. Заметим, что сначала она отдает конфету, а потом начинает есть оставшиеся конфеты одну за другой.

Например, \(n=4\), а веса равны \([1, 4, 3, 3]\). Рассмотрим все возможны варианты дать папе конфету:

  • Таня дает \(1\)-ю конфету папе (\(a_1=1\)), остались конфеты \([4, 3, 3]\). Она съест \(a_2=4\) в первый день, \(a_3=3\) во второй день, \(a_4=3\) в третий день. Таким образом, в нечетные дни она съест \(4+3=7\), а в четные дни она съест \(3\). Так как \(7 \ne 3\), этот вариант не должен быть учтен в ответе (эта конфета не является хорошей).
  • Таня дает \(2\)-ю конфету папе (\(a_2=4\)), остались конфеты \([1, 3, 3]\). Она съест \(a_1=1\) в первый день, \(a_3=3\) во второй день, \(a_4=3\) в третий день. Таким образом, в нечетные дни она съест \(1+3=4\), а в четные дни она съест \(3\). Так как \(4 \ne 3\), этот вариант не должен быть учтен в ответе (эта конфета не является хорошей).
  • Таня дает \(3\)-ю конфету папе (\(a_3=3\)), остались конфеты \([1, 4, 3]\). Она съест \(a_1=1\) в первый день, \(a_2=4\) во второй день, \(a_4=3\) в третий день. Таким образом, в нечетные дни она съест \(1+3=4\), а в четные дни она съест \(4\). Так как \(4 = 4\), этот случай должен быть учтен в ответе (эта конфета является хорошей).
  • Таня дает \(4\)-ю конфету папе (\(a_4=3\)), остались конфеты \([1, 4, 3]\). Она съест \(a_1=1\) в первый день, \(a_2=4\) во второй день, \(a_3=3\) в третий день. Таким образом, в нечетные дни она съест \(1+3=4\), а в четные дни она съест \(4\). Так как \(4 = 4\), этот случай должен быть учтен в ответе (эта конфета является хорошей).

Суммарно здесь есть \(2\) случая, которые должны быть учтены (эти конфеты являются хорошими), таким образом, ответ равен \(2\).

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

Первая строка входных данных содержит одно целое число \(n\) (\(1 \le n \le 2 \cdot 10^5\)) — количество конфет.

Вторая строка входных данных содержит \(n\) целых чисел \(a_1, a_2, \dots, a_n\) (\(1 \le a_i \le 10^4\)), где \(a_i\) равно весу \(i\)-й конфеты.

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

Выведите одно целое число — количество таких конфет \(i\) (хороших конфет), что если папа получит \(i\)-ю конфету, то сумма весов конфет, которые Таня съест в четные дни, будет равна сумме весов конфет, которые Таня съест в нечетные дни.

Примечание

В первом тестовом примере индексы хороших конфет равны \([1, 2]\).

Во втором тестовом примере индексы хороших конфет равны \([2, 3]\).

В третьем тестовом примере индексы хороших конфет равны \([4, 5, 9]\).


Примеры
Входные данныеВыходные данные
1 7
5 5 4 5 5 5 6
2
2 8
4 8 8 7 8 4 4 5
2
3 9
2 3 4 2 2 3 2 2 4
3

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

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