toroshinaalena
02.02.2020 19:32

Восхождение на эльбрус
ограничение времени 1 секунда
ограничение памяти 64mb
ввод стандартный ввод или input.txt
вывод стандартный вывод или output.txt
на летних каникулах вася с одноклассниками поехали отдыхать в приэльбрусье.

в один погожий день они решили подняться на вершину эльбруса. для этого им нужно набрать h метров высоты. подготовка оказалась далеко не на высоте, из-за чего после каждого подъема на t метров половина школьников возвращалась вниз в лагерь. если группа не делилась на две равные части — один школьник мог как спуститься, так и остаться.

зная, что в начале восхождения группа состояла из n человек, определите, какое наименьшее и наибольшее количество смогло бы подняться на вершину эльбруса.

формат ввода
заданы три натуральных числа h, t и n (1 ≤ h, t, n ≤ 10**9).

формат вывода
выведите два числа — наименьшее и наибольшее количество .

пример
ввод вывод
5 3 5
2 3
решить

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
Щкх
07.09.2022 12:33
Поле является составной частью типа Запись (record) или класса (в данном случае оно, как правило, называется свойство).

При описании типа данных Запись (record) используют поля, которые описывают характерные свойства данной записи. Запись может содержать информацию о различных объектах реальной жизни (машина, человек, радиоприёмник и пр.), а каждая запись содержит информацию, которая характеризует описываемый объект с той, или иной стороны.

Например, для записи Машина могут быть заданы поля, содержащие информацию о марке автомобиля, его цвете, объёме двигателя, количестве дверей и наличии откидывающейся крыши.

Для записи Человек можно выделить поля для хранения имени, фамилии и отчестве человека, номер и серию его паспорта, возраст и т.д.

В качество полей могут быть использованы не только элементарные типы данных (строка, целое, вещественное), но и составные (массивы, перечисления, записи).

Например:

type
  parants = record
     name, surname : string;
     age : byte;
     phone : string;
  end;

  students = record
     name, surname : string;
     age : byte;
     mother : parents;
     father : parent;
  end;

var student : students;

begin
  with student do begin
     name := 'Вася';
     surname := 'Пупкин';
     age := 15;
     mother.name := 'Ирина';
     mother.surname := 'Пупкина';
     mother.phone := '+7 (916) 123-45-67';
  end;
end.
0,0(0 оценок)
Ответ:
gern74p01ako
07.06.2022 19:25
Предлагается хранить типы блоков в массиве. Каждый элемент - 2Б, количество элементов - 2^20 => всего требуется 2МБ.

При перезаписи блока и очередной переоценке необходимо учитывать типы данных в блоке до перезаписи (T0), после перезаписи (T1) и в соседних блоках (TL, TR).

Если T0 = T1, то количество кусков данных не изменяется, т.е. W[i+1] = W[i]
TL = T0 = TR <> T1 -> W[i+1] = W[i] + 2
TL = T1 = TR <> T0 -> W[i+1] = W[i] - 2
TL = TR, T0 <> TL, T1 <> TL -> W[i+1] = W[i]

Далее рассмотрим случаи, когда TL <> TR
(TL = T0, TR = T1) или (TR = T0, TL = T1) -> W[i+1] = W[i]
(TL = T0, TR <> T1) или (TR = T0, TL <> T1) -> W[i+1] = W[i] + 1
(TL = T1, TR <> T0) или (TR = T1, TL <> T0) - > W[i+1] = W[i] - 1

Если все четыре типа не совпадают, то W[i+1] = W[i]
Если перезаписывается блок с адресом 0, считать, что тип TL не совпадает ни с одним из трех других.Аналогично при перезаписи блока с адресом , но для TR.

Вроде все?
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота