nastyavix
13.07.2022 11:35

Дано несколько чисел. Вычислите их сумму. Сначала вводите количество N, затем вводится ровно N целых чисел. Язык программирования- Паскаль.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
orton1999
13.04.2020 21:34

from collections import deque

 

n, k = map(int, input().split())

x, d, ssum = list(map(int, input().split())), deque(), 0

b = [(0,0) for i in range(n)]

for i in range(n):

   ssum += x[i]

   if i >= k :

       ssum -= x[i - k]

       if d[0] == i - k :

           d.popleft()

   while len(d) and x[d[-1]] >= x[i]:

       d.pop()

   d.append(i)

   if i >= k - 1:

       nb = (b[i-k][0] + x[d[0]] * ssum, i-k+2)

       b[i] = max(b[i-1], nb, key=lambda x: x[0])

i = n - 1

d = deque()

j = b[-1][1]

d.appendleft(j)

while i !=0:

   i -= 1

   j1 = b[i][1]

   if j-k>=j1 and j1 > 0 :

       d.appendleft(j1)

       j = j1

print(str(len(d)))

print(" ".join(map(str, d)))

0,0(0 оценок)
Ответ:
DEKTG
25.03.2020 08:25
В начале в строке находилось 333 троек по 8 плюс одна 8, всего 1000 восьмерок.
1. При выполнения цикла каждая из троек 8 будет заменена на одну 9. Значит у нас получится строка длиной в 334 символа, где 333 девятки и последний символ - восьмерка
2. Далее 333 девятки заменятся на 111 восьмерок плюс последняя восьмерка - всего получим 112 восьмерок
3. Из 112 восьмерок получится 37 девяток и одна восьмерка
4. И 37 девяток получим 12 восьмерок плюс одна девятка и плюс последняя восьмерка
5. 12 восьмерок дадут 4 девятки плюс последние 9 и 8
6. И наконец получаем строку 8998
ответ: 8998
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота