В
Все
М
Математика
О
ОБЖ
У
Українська мова
Х
Химия
Д
Другие предметы
Н
Немецкий язык
Б
Беларуская мова
М
Музыка
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
У
Українська література
Р
Русский язык
Ф
Французский язык
П
Психология
О
Обществознание
А
Алгебра
М
МХК
Г
География
И
Информатика
П
Право
А
Английский язык
Г
Геометрия
Қ
Қазақ тiлi
Л
Литература
И
История
schastlivaya999
schastlivaya999
21.08.2021 21:32 •  Информатика

Сила заклинания вася нашел древний свиток с заклинанием. заклинание состоит из n чисел. сила заклинания вычисляется следующим образом: для каждой подстроки (в данном случае это последовательность подряд идущих чисел), считается сумма чисел в этой подстроки, а затем вычисляется сумма всех сумм подстрок. васе определить силу заклинания. формат входных данных в первой строке содержится число n (1 ≤ n ≤ 10000) - количество чисел в записи заклинания. во второй строке содержится 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% .

Показать ответ
Ответ:
aiis17
aiis17
21.08.2020 06:58
Исходные числа 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) 
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота