SP4343

发布时间 2023-10-17 18:24:39作者: The_cosmos

数学题。

我们进行推导。

设每一层选了 \(s_i\) 个盒子,在里面放下一层的盒子。

那么我们可以得到以下式子:

\[ n-s_1+s_1\times k-s_2+s_2\times k\cdots=f \]

\[ n+s_1\times (k-1)+s_2\times (k-1)\cdots=f \]

\[ n+(s_1+s_2+\cdots)\times (k-1)=f \]

答案显然是 \(f+s_1+s_2+\cdots+s_{cnt}\)

由上式即 \(\frac{(f-n)}{k-1}+f\)

#include <bits/stdc++.h>
using namespace std;
#define int long long
namespace Jelly {
	int main() {
		int n, k, f, t;
		cin >> n >> k >> t >> f;
		cout << (f - n) / (k - 1) + f << '\n';
		return 0;
	}
}
signed main() {
	ios::sync_with_stdio(false);
	cin.tie(NULL), cout.tie(NULL);
	int T = 1;
	cin >> T; 
	while(T --) Jelly::main();
	return 0;
}