Сила заклинанияВася отыскал старый свиток с заклинанием. Заклинание состоит из N

Сила заклинания

Вася отыскал древний свиток с заклинанием. Заклинание состоит из N чисел.

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

Помогите Васе найти силу заклинания.

Формат входных данных

В первой строке содержится число N (1 N 10000) - количество чисел в записи заклинания.

Во 2-ой строке содержится N чисел, задающих заклинание. Каждое из чисел не превосходит 10000 по модулю.

Формат результата

Выведите одно число - силу заклинания.

Образцы

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

2
10 20
Итог работы

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

3
2 1 3
Итог работы

19
Примечания

В первом тесте последующие подстроки: 10; 20; 10 20. Сумма одинакова 60.

Во втором тесте последующие подстроки: 2; 1; 3; 2 1; 1 3; 2 1 3. Сумма одинакова 19.

Система оценки: Решения, правильно работающие при 1 N 100 будут получать не менее 50% баллов.

Задать свой вопрос
Виталик Добржанский
DEST8, Tashernaut, как делать 1??? ну типо периметр фигуры ДО N*4, а как после??? Я уверена, вы ещё читаете
Andrej Karavcov
памагите
Криксунова Виктория
хелп аз плиз
1 ответ
Начальные числа a(0), a(1), ..., a(N - 1).
Пусть f(k - 1) сумма сумм всех чисел из подстрок, кончающихся на числе с номером k - 1. Вычислим f(k).
f(k) = (a(0) + a(1) + a(2) + ... + a(k - 1) + a(k)) + (a(1) + a(2) + ... + a(k - 1) + a(k)) + (a(2) + ... + a(k - 1) + a(k)) + ... + (a(k - 1) + a(k)) + a(k) = f(k - 1) + (k + 1) * a(k)
Разыскиваемая сумма есть сумма всех f(k).

python 3.6:
n = int(input())
a = enumerate(map(int, input().split()))
s = f = 0
for k, ak in a:
    f += (k + 1) * ak 
    s += f
print(s) 
, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт