けんちょんの競プロ精進記録

競プロの精進記録や小ネタを書いていきます

AtCoder ABC 176 A - Takoyaki (8Q, 灰色, 100 点)

この手の「切り上げ処理」は、もう憶えてしまおう!

問題概要

 N 個のたこ焼きを作りたい。

たこやきを作り始めてから、 X 秒おきに  T 個のたこ焼きを作る。

 N 個のたこ焼きを作り切るのに最低何秒かかるか。

解法

たこやきを生産するターン数は、「 N T で割って切り上げた値」となる。

この答えは、実は C++ では、

(N + X - 1) / X

と表せるのだ(次の記事を参照)。

drken1215.hatenablog.com

これに、 T をかければよい。

#include <bits/stdc++.h>
using namespace std;

int main() {
    int N, X, T;
    cin >> N >> X >> T;
    
    int kaisuu = (N + X - 1) / X;
    cout << kaisuu * T << endl;
}