SP4343
数学题。
我们进行推导。
设每一层选了 \(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;
}