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

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

AtCoder ABC 082 A - Round Up the Mean (灰色, 100 点)

「切り上げ処理」を要求する問題!

問題概要

2 つの正の整数  a, b が与えられる。

 a, b の平均値を求め、小数点以下を切り上げて得られる整数値を答えよ。

解法

  •  a + b が偶数ならば、平均値は整数であって、答えは (a + b) / 2 となる
  •  a + b が奇数ならば、平均値は整数とはならず、切り上げられるので、答えは (a + b) / 2 + 1 となる
#include <bits/stdc++.h>
using namespace std;

int main() {
    int a, b;
    cin >> a >> b;
    
    int sum = a + b;
    if (sum % 2 == 0) cout << sum / 2 << endl;
    else cout << sum / 2 + 1 << endl;
}