Школа программиста

Забыли пароль?
[задачи] [курсы] [олимпиады] [регистрация]
Логин:   Пароль:    
Скрыть меню
О школе
Правила
Олимпиады
Фотоальбом
Гостевая
Форум
Архив олимпиад
Архив задач
Состояние системы
Рейтинг
Курсы
Новичкам
Работа в системе
Алгоритмы
Курсы ККДП
Дистрибутивы
Ссылки

HotLog


 

Кампус

(Время: 1 сек. Память: 16 Мб Сложность: 27%)

Новое здание кампуса Университета Байтбурга имеет n этажей, пронумерованных снизу вверх от 1 до n. Комнаты студентов расположены в нескольких подъездах.

В каждом подъезде на этажах, номер которых кратен числу k, расположено по x комнат, а на остальных этажах расположено по y комнат. Комнаты внутри каждого подъезда пронумерованы последовательными натуральными числами. Номера комнат на первом этаже имеют наименьшие значения в этом подъезде, затем следуют номера комнат на втором этаже, и так далее.

Комнаты в первом подъезде пронумерованы, начиная с 1, в каждом следующем подъезде нумерация комнат начинается с числа, следующего после максимального номера комнаты в предыдущем подъезде.

На рис. 1 показаны номера комнат в здании с n = 7 этажами, 3 подъездами, и параметрами k = 3, x = 2, y = 3.

Подъезд 1 Подъезд 2 Подъезд 3
       
7 этаж 17, 18, 19 36, 37, 38 55, 56, 57
6 этаж 15, 16 34, 35 53, 54
5 этаж 12, 13, 14 31, 32, 33 50, 51, 52
4 этаж 9, 10, 11 28, 29, 30 47, 48, 49
3 этаж 7, 8 26, 27 45, 46
2 этаж 4, 5, 6 23, 24, 25 42, 43, 44
1 этаж 1, 2, 3 20, 21, 22 39, 40, 41
       
   Рис. 1. Пример нумерации комнат в здании

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

Требуется написать программу, которая по заданным числам n, k, x и y, а также по номерам комнат, определяет для каждой комнаты, на каком этаже она находится.

Входные данные

Первая строка входного файла INPUT.TXT содержит натуральные числа n, k, x и y (1 ≤ n ≤ 109, 1 ≤ k ≤ n, 1 ≤ x, y ≤ 109). Соседние числа разделены ровно одним пробелом. Вторая строка входного файла содержит натуральное число q – количество номеров комнат, для которых требуется определить этаж (1 ≤ q ≤ 1000). Третья строка содержит q целых чисел a1, a2, …, aq – номера комнат (1 ≤ ai ≤ 1018). Можно считать, что в здании так много подъездов, что все комнаты с заданными номерами существуют.

Выходные данные

В выходной файл OUTPUT.TXT выведите q чисел, по одному на строке. Для каждого номера комнаты во входном файле требуется вывести номер этажа, на котором она находится.

Пример

INPUT.TXTOUTPUT.TXT
17 3 2 3
4
1 19 20 50
1
7
1
5

Для отправки решения задачи необходимо зарегистрироваться и авторизоваться!

 Язык программирования C++
 Решение олимпиадных задач
 Региональные олимпиады
 Книги Фёдора Меньшикова
 Тренировочные олимпиады
 Школьный этап
 Муниципальный этап
 Региональный этап
 Полуфинал ВКОШП
 Личное первенство СФУ
 2006 / 2007
 2007 / 2008
 2008 / 2009
 2009 / 2010
 2010 / 2011
 2011 / 2012
 2012 / 2013
 2013 / 2014
 2014 / 2015
 2015 / 2016
 2016 / 2017
 A. Кампус
 B. Калькулятор
 C. Размещение данных
 D. Полезные ископаемые
 E. Автоматизированное управление доставкой
 F. Большой линейный коллайдер
 G. Силовые поля
 H. Повышение квалификации

Красноярский краевой Дворец пионеров, (c)2006 - 2017, ICQ: 151483