問題概要
ハルカちゃんとユウちゃんはとっても仲良しなので、$2$人でポッキーゲームをすることにしました。
長さが $L$(mm) のポッキーを2人はそれぞれ両端から中央に向かって齧っていきます。
$2$人とも毎回$K$(mm) ずつ同じタイミングでポッキーを齧ります。
ユウちゃんは恥ずかしがり屋さんなので、
次のタイミングで$2$人ともポッキーを齧ろうとしたら唇が触れてしまうと分かった時点で齧り進めるのを止めて、
残りは全部ハルカちゃんが食べてしまいます。
このとき、ユウちゃんが食べるポッキーの長さは何mmか?
$L\leqq10^9$、$K\leqq50$
解法
ちょうどふたりが$K$mmずつたべて唇が触れないようにするとき、$L-1$の長さを考えれば良い。
ターン数は$($長さ$)/(2K)$であるから、食べる長さは$(L-1)/(2K)*K$となる。
計算量:$O(1)$
ソース
#include <bits/stdc++.h> using namespace std; using VS = vector<string>; using LL = long long; int main() { cin.tie(0); ios_base::sync_with_stdio(false); LL L, K; cin >> L >> K; LL ans = (L - 1) / (2 * K) *K; cout << ans << "\n"; return 0; }