Точка равновесия

Просмотр в формате PDF

Submit solution


Очки: 130
Ограничение по времени: 2.0s
Ограничение по памяти: 256M

Problem type
Allowed languages
C++, Python

Инженер рассматривает ряд опорных точек, расположенных вдоль балки. В каждой точке задана величина нагрузки. Нужно найти такую опору, что суммарная нагрузка на всех точках строго левее неё равна суммарной нагрузке на всех точках строго правее неё.

Сама выбранная опора в обе суммы не входит.

Требуется определить наименьший индекс такой опоры. Нумерация точек начинается с 1. Если подходящей опоры нет, выведите -1.

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

Первая строка содержит целое число n — количество точек нагрузки.

Вторая строка содержит n целых чисел a_i, где a_i — нагрузка в i-й точке.

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

Выведите наименьший индекс точки равновесия или -1, если такой точки не существует.

Ограничения

  • 1 <= n <= 2 * 10^5
  • -10^9 <= a_i <= 10^9

Примеры

Пример 1

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

6
1 7 3 6 5 6

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

4

Пояснение

Для i=4: слева 1+7+3=11, справа 5+6=11 — суммы равны, это наименьший индекс равновесия.

Пример 2

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

1
5

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

1

Комментарии

Еще нет ни одного комментария.