b = int(input())
a = int(input())
left = 0
right = 2 * 10 ** 9 + 1
while right - left > 1:
mid = (left + right) // 2
plus = a * mid
minus = (b + b + mid - 1) * mid // 2
if plus >= minus:
left = mid
else:
right = mid
print(right)
Объяснение:
program sorting;
const
N = 10;
var
v: array[1..N] of integer;
d: integer;
i, t: integer;
k: boolean;
begin
randomize;
write('ДО сортировки: ');
for i := 1 to N do
begin
readln(v[i])
write(v[i]:6);
end;
}
d := N div 2;
while(d > 0) do
begin
k := true;
while k do
begin
k := false;
i := 1;
for i := 1 to N - d do
begin
if(v[i] > v[i + d]) then
begin
t := v[i];
v[i] := v[i + d];
v[i + d] := t;
k := true;
end;
end;
end;
d := d div 2;
end;
writeln;
write('ПОСЛЕ сортировки: ');
for i := 1 to N do
write(v[i]:6);
writeln;
end.
#arr = [*map(int, input().split(' 0')[0].split())] если числа вводятся в строчку , то раскомментируйте и используйте эту строку, а инициализацию массива arr и цикл while закомментируйте
arr = []
while 1:
tmp = int(input())
if tmp != 0: # Читаем сколько угодно чисел пока не будет ноль
arr.append(tmp)
else:
break
s = 0 # сумма двузначных чисел
k = 0 # количество двузначных чисел
for i in arr:
if 10 <= i <= 99: # итерируемся по циклу и если число двузначное
s += i # то прибавляем его к сумме
k += 1 # счетчик двузначный чисел увеличиваем на один
print(s/k) if k > 0 else print('NO') #если количество двузначных > 0 то выводим среднее арифметическое s/k, если нет то выводим NO
b = int(input())
a = int(input())
left = 0
right = 2 * 10 ** 9 + 1
while right - left > 1:
mid = (left + right) // 2
plus = a * mid
minus = (b + b + mid - 1) * mid // 2
if plus >= minus:
left = mid
else:
right = mid
print(right)
Объяснение: