Розы - 38 млн. , пионы - 3 млн. , розы AND пионы - 4 млн. , розы OR пионы - 2 млн. , -розы пионы 4 млн.
Человек-
чтение газеты человеком
строительство дома людьми
Общение с друзьями
Хождение в ресторан
Игра в волейбол
Животный мир-
принятие определённой позы собакой при приближении соперника
общение дельфинов между собой
виляние хвостом у собак
Беганье за палкой
Игра волчат
Растительный мир-
Опадение листвы
рост побегов
сезонные изменения в природе
Начало дождя
Рост дерева
Технические системы-
вождение автомобиля
Деланье уроков
гулянка
Стройка самолета
Готовка еды в массовом производстве
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)
Объяснение:
Поделитесь своими знаниями, ответьте на вопрос:
Нужно написать программу на паскале, которая выводит на экран столбец матрицы , сумма значений элементов которого наименьшая.
n=10;m=7;
var
a:array[1..n,1..m]of integer;
i,j,min,s,j_m:integer;
begin
for i:=1 to n do
begin
writeln;
for j:=1 to m do
begin
a[i,j]:=random(20)-5;
write(a[i,j]:4);
end;
end;
writeln;
{запишем в min чуть больше наибольшего значения суммы, которая может быть в любом столбце. Больше, чем 200 не будет, т.к. всего 10 строк, каждое значение исходя из заполнения матрицы не может быть больше, чем 15 }
min:=200;j_m:=1;
for j:=1 to m do
begin
s:=0;
for i:=1 to n do
s:=s+a[i,j];
if s<min then
begin
j_m:=j;
min:=s;
end;
writeln('j :',j,' ',s); {выводится значение суммы в каждом столбце, необязательно, можно удалить}
end;
writeln('№ столбца с мин суммой ',j_m);
for i:=1 to n do
writeln(a[i,j_m]); {вывод нужного столбца}
end.