В
Все
Б
Биология
Б
Беларуская мова
У
Українська мова
А
Алгебра
Р
Русский язык
О
ОБЖ
И
История
Ф
Физика
Қ
Қазақ тiлi
О
Окружающий мир
Э
Экономика
Н
Немецкий язык
Х
Химия
П
Право
П
Психология
Д
Другие предметы
Л
Литература
Г
География
Ф
Французский язык
М
Математика
М
Музыка
А
Английский язык
М
МХК
У
Українська література
И
Информатика
О
Обществознание
Г
Геометрия
daskatyhg
daskatyhg
06.03.2020 05:48 •  Информатика

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

феодосий считает, что куличик получился удачным, если его высота не меньше x. высоту i-го куличика он описывал целым неотрицательным числом hi.

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

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

входные данные
в первой строке входного файла даны два числа: n – начальное количество построенных куличиков (1≤n≤106) и x – нижняя граница высоты удачного куличика (0≤x≤109).

в следующей строке даны n чисел hi – высота i-го куличика (0≤hi≤109).

в третьей строке входного файла дано число m (1≤m≤105) – количество событий, которые происходили с рядом куличиков.

в следующих m строках дано описание событий:

1 h (0≤h≤109) – феодосий строит новый куличик высоты h.

2 – вода разрушает самый ближний к морю куличик, который в нумерации феодосия имеет номер 0. после этого феодосий мысленно уменьшает номера всех куличиков на 1.

3 i – феодосий хочет узнать, сколько удачных куличиков осталось между куличиком с номером i и линией моря.

гарантируется, что все запросы корректны: если на берегу нет ни одного куличика, то операция второго типа не выполняется, а при запросе третьего типа количество куличиков всегда будет строго больше i.

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

примеры
входные данные
1 2
3
5
1 2
1 1
3 0
3 1
3 2
выходные данные
0
1
2
входные данные
2 2
1 2
7
3 0
3 1
2
3 0
1 3
3 0
3 1
выходные данные
0
0
0
0
1

Показать ответ
Ответ:
maga050508
maga050508
21.03.2023 12:38
Var m : array[0..6] of Integer;
  i,k,N : Integer;
Begin
  For i:=0 to 6 do m[i]:=0;
  Readln(N);
  k:=6;
  While N>0 do
  Begin
    If N>=Power(2,k) then
    Begin
      N:=N-Trunc(Power(2,k));
      Inc(m[k]);
    end else Dec(k);
  end;
  For i:=0 to 6 do Writeln(Power(2,i),'  ',m[i],' шт.');
end.

Еще вариант:
Const
  NN = 7;
  money : array[1..7] of Integer = (1,2,4,8,16,32,64);
Var m : array[1..NN] of Integer;
  i,k,N : Integer;
Begin
  For i:=1 to NN do m[i]:=0;
  Readln(N);
  k:=NN;
  While N>0 do
  Begin
    If N>=money[k] then
    Begin
      N:=N-money[k];
      Inc(m[k]);
    end else Dec(k);
  end;
  For i:=1 to NN do Writeln(money[i],'  ',m[i],' шт.');
end.
0,0(0 оценок)
Ответ:
ŦøPňŷŦĩĩ78
ŦøPňŷŦĩĩ78
21.08.2021 10:04
Информационный поток - процесс передачи информации от одного объекта другому.При этом информация может видоизменяться, кодироваться, преобразововаться из одного вида сигналов в другие.Основные устройства компьютера - клавиатура, мышь, монитор, видео плата, процессор, ОЗУ, контроллеры, запоминающие устройства(накопители).Процессор это сердце компьютера, главный наблюдатель в процессе информационных потоков компьютера.При включении процессор инициирует процесс загрузки программ из накопителей в озу, он просит котроллеры чтобы поток данных загружался напрямую, по возможности, из накопителей в ОЗУ, минуя внутреннюю память процессора.Время от времени он опрашивает устройства ввода, мышь клавиатуру, на предмет сигналов, в которых закодированны нажатые кнопки, позиции курсора, итд... Если процессор зависнет, зациклится, то нажатия на кнопки не приведут ни к чему,т.к эти устройства никто не опрашивает.Программы, выполняющиеся на процессоре, могут "попросить" процессор выводить информацию на монитор, подавая комманды.Обрабатывая эти комманды процессор, отправляет данные в видео плату, или в котроллер видеоплаты.Видеоплата, получая данные из процессора в свой видео буфер, преобразует их в аналого-цифровой формат для подачи уже в монитор через кабель.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота