JAG 夏合宿 2015 Day2 B: 監獄
解法
N回目に [0, k-2] の人は N-1 回目には +1 した位置に、[k-1, 2*k-3] の人は +2 した位置にいるので、遡っていけば良い。
コード
#include <bits/stdc++.h> using namespace std; typedef long long ll; int main() { cin.tie(0); ios::sync_with_stdio(false); ll N, k; cin >> N >> k; ll pos = 0; for (int i = 0; i < N - 1; ++i) { ll add = (pos) / (k - 1) + 1; pos += add; } cout << pos << endl; }