М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
kjk123ggt
kjk123ggt
21.10.2022 16:59 •  Информатика

Https://uchebnik.mos.ru/exam/test/test_by_binding/5809502/homework/98689899/variant/12648621/num/1?generation_context_type=homework&referer=homework&registration=ef848be2-bca8-4742-33c2-2d4625025ff8

👇
Открыть все ответы
Ответ:
bondarantona
bondarantona
21.10.2022
Const m=200;
var a: array[1..m] of integer;
    i,j,n: integer;
begin
   write('количество элементов массива:  ');
   readln(n);
   randomize;
   write('массив:  ');
   for i:=1 to n do
   begin
     a[i]:=random(40);
     write(a[i],' ');
   end;
   writeln;
   write('отсортированный массив:  ');  
   for i:=1 to n-1 do
   for j:=i+1 to n do
   if a[i]>a[j] then swap(a[i],a[j]);
   for i:=1 to n do write(a[i],' ');
end.   

количество элементов массива:  10
массив:  32 2 10 22 2 13 25 6 15 6 
отсортированный массив:  2 2 6 6 10 13 15 22 25 32 
4,5(17 оценок)
Ответ:
Nikakrmararle
Nikakrmararle
21.10.2022

import math

import sys

def get_first_max(tree, idx, l, r, L, R):

if r <= L or R <= l:

  return -1

if l >= L and r <= R:

  return tree[idx]

m = (l + r) // 2

return max(get_first_max(tree, idx * 2 + 1, l, m, L, R), get_first_max(tree, idx * 2 + 2, m, r, L, R))

num = input()

k = int(input())

n = len(num)

N = 2**math.ceil(math.log2(n))

M1 = 10 ** 7

M2 = 10 ** 6

tree = [-1] * (2 * N)

for i in range(n):

tree[N - 1 + i] = int(num[i]) * M1  + M2 - i

for i in range(N - 2, -1, -1):

tree[i] = max(tree[2 * i + 1], tree[2 * i + 2])

i = 0

ans = ""

for _ in range(n - k):

maximum = get_first_max(tree, 0, 0, N, i, i + k + 1)

val = maximum // M1

pos = M2 - maximum % M1

ans += str(val)

k -= pos - i

i = pos + 1

if k == 0:

  ans += num[i:]

  break

print(ans)

Объяснение:

4,6(20 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ