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

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

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

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

問題概要

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

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

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

解法

たこやきを生産する回数は、次のように言い表せる。


 X の倍数のうち、 N 以上であるような最小の整数


これは、すでに次の問題が出題されている。

drken1215.hatenablog.com

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

(N + X - 1) / X

と表せるのだ。

これに、 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;
}