szm111213
2025-01-05 20:32:51
来来来,一道橙题,先找一下规律吧!!!
于是,啪!!!我们可以计算每个楼道的房间总数,然后根据房间编号确定它所在的楼道和楼层。
然后就要用上~~~
设楼道的房间总数为
接下来是本人马蜂优良的代码:
#include <bits/stdc++.h>//万恶之源
using namespace std;
int main()
{
long long n, k, x, y;
cin >> n >> k >> x >> y;
long long t = (n / k) * x + (n - n / k) * y;// 计算每个楼道的房间总数
int q;
cin >> q;
for (int i = 0; i < q; i++)
{
long long a;
cin >> a;
long long d = (a - 1) / t + 1;// 确定楼道编号
long long r = (a - 1) % t + 1;// 确定在该楼道内的相对编号
// 以下是确定楼层编号
long long f = 0;
long long s = 0;
for (long long i = 1; i <= n; i++)
{
if (i % k == 0)
{
s += x;
}
else
{
s += y;
}
if (s >= r)
{
f = i;
break;
}
}
cout << f << endl;
}
return 0;
}
//十年oi一场空,~~~