公式

A - Double-Sided Printing 解説 by sounansya


AtCoder をはじめたばかりで何をしたらよいか分からない方は、まずは practice contest の問題 A「Welcome to AtCoder」を解いてみてください。基本的な入出力の方法が載っています。
また、プログラミングコンテストの問題に慣れていない方は、AtCoder Beginners Selection の問題をいくつか解いてみることをおすすめします。


\(N\) が偶数の場合、\(1\) 枚に \(2\) ページ刷ることができることから必要なコピー用紙は \(\displaystyle \frac{N}2\) 枚であることが分かります。

\(N\) が奇数の場合、最後の \(1\) 枚のみ \(1\) ページのみ刷ることから必要なコピー用紙は \(\displaystyle \frac{N+1}2\) 枚となります。

以上より、\(N\) の偶奇で場合分けすることでこの問題に正答することができます。

また、切り捨て除算を使うことで本問題の答えは \(N+1\) を \(2\) で割った商として計算することもできます。

実装例(Python3)

n = int(input())
if n % 2 == 0:
    print(n // 2)
else:
    print((n + 1) // 2)

実装例(Python3)

n = int(input())
print((n + 1) // 2)