はまやんはまやんはまやん

hamayanhamayan's blog

科目選択 (Selecting Subjects) [第15回日本情報オリンピック 予選(オンライン) A]

https://atcoder.jp/contests/joi2016yo/tasks/joi2016yo_a

解説

https://atcoder.jp/contests/joi2016yo/submissions/8142856

物理、科学、生物、地学から点数が高いものを3つ選んで総和を取るが、
これは、「(総和)-4つのmin」と実は等しい。
こっちのほうが計算しやすいので、こっちで計算しよう。
歴史と地理の大きい方はmaxを使う。
min({A,B,C,D})という書き方は、{A,B,C,D}と書くとA~Dを含む配列が作られる。
よって、min(配列)という指定になっており、これは、配列の中での最小値を取り出してくれる。

int A, B, C, D, E, F;
//---------------------------------------------------------------------------------------------------
void _main() {
    cin >> A >> B >> C >> D >> E >> F;
    
    int ans = 0;
    ans += (A + B + C + D) - min({ A, B, C, D });
    ans += max(E, F);
    cout << ans << endl;
}