luogu#P11506. [ROIR 2017] 校园 (Day 1)

[ROIR 2017] 校园 (Day 1)

题目背景

翻译自 ROIR 2017 D1T1

题目描述

新的拜特堡大学校园大楼有 nn 层,从下往上编号为 11nn。学生宿舍分布在多个楼道中。

在每个楼道中,楼层号是 kk 的倍数的楼层上有 xx 个房间,其他楼层上有 yy 个房间。

每个楼道内的房间按顺序编号。第一层的房间编号最小,接着是第二层的房间编号,以此类推。第一个楼道的房间编号从 11 开始,每个后续楼道的房间编号从上一个楼道房间最大编号的下一个数字开始。

如下图所示,假设楼层数 n=7n = 7,楼道数为 33,且 k=3k = 3, x=2x = 2, y=3y = 3

为了便于学生住宿安排,校园管理方需要根据房间编号快速查找该房间所在的楼层。

请编写一个程序,根据给定的 nn, kk, xx, yy,以及房间编号,确定每个房间所在的楼层。

输入格式

第一行输入四个整数 n,k,x,yn,k,x,y1n1091 \leq n \leq 10^91kn1 \leq k \leq n1x,y1091 \leq x, y \leq 10^9)。

第二行输入一个整数 qq,表示需要查询编号的房间数量(1q10001 \leq q \leq 1000)。

第三行输入 qq 个整数 a1,a2,,aqa_1, a_2, \dots, a_q,即查询的房间编号(1ai10181 \leq a_i \leq 10^{18})。

可以认为大楼有足够多的楼道,保证所有查询的房间编号都存在。

输出格式

对于每个询问,输出一行一个整数,表示该房间所在的楼层。

7 3 2 3
4
1 19 20 50
1
7
1
5

提示

子任务 分值 1n1\le n\le 1x,y1\le x,y\le 1q1\le q\le 1ai1\le a_i\le 其它特殊性质
11 3131 1010 11 100100
22 1919 10710^7 10910^9 10710^7
33 1616 10910^9 10001000 101810^{18} x=yx=y
44 3434