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

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

AtCoder ABC 103 A - Task Scheduling Problem (灰色, 100 点)

この問題は意味を理解するのが大変だと思う!

問題概要

3 つの整数  A, B, C が与えられる。これらを適切に並び替えたときの

  • 1 番目と 2 番目の差
  • 2 番目と 3 番目の差

の和として、考えられる最小値を求めよ。

解法

実際に幾つかのケースで手を動かしてみると次のことがわかってくる


  • 小さい順に並んでいるときが最小
  • 大きい順に並んでいるときも最小

いずれの場合も、結局は「3 つの数のうちの最大値」と「3 つの数のうちの最小値」の和が答えになる。

このように、問題文のわけわからない条件をわかりやすく言い換えることは、AtCoder のより高度な問題に挑むときに必要になってくる!

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

int main() {
    int A, B, C;
    cin >> A >> B >> C;
    cout << max({A, B, C}) - min({A, B, C}) << endl;
}