EX14 - 1.14 Editorial /

Time Limit: 2 sec / Memory Limit: 256 MB

説明ページに戻る

問題文

三人兄弟のA君とB君とC君が背くらべをしています。
三人の身長が与えられるので、最も大きい人と最も小さい人の身長差を出力してください。

例えば、A君の身長が160B君の身長が154C君の身長が152であるとします。
このとき最も大きいのはA君で、最も小さいのはC君なので、出力は8になります。

この問題はSTLの関数を使わなくても解けますが、STLの関数を使うと簡潔にプログラムを記述できます。


サンプルプログラム
#include <bits/stdc++.h>
using namespace std;

int main() {
  int A, B, C;
  cin >> A >> B >> C;
}

制約

  • 1≦A, B, C≦200
  • A, B, Cは整数

入力

入力は次の形式で標準入力から与えられます。

A B C

出力

最もが大きい人と最も小さい人の身長差を出力してください。

出力の最後には改行が必要です。


ジャッジでは以下の入力例以外のケースに関してもテストされることに注意。

入力例1

160 154 152

出力例1

8

問題文で説明したケースです。


入力例2

200 200 200

出力例2

0

三人に身長差は無いので0と出力します。


入力例3

145 1 170

出力例3

169

入力例4

150 190 160

出力例4

40

テスト入出力

書いたプログラムがACにならず、原因がどうしてもわからないときだけ見てください。

クリックでテスト入出力を見る

テスト入力1
150 130 140
テスト出力1
20

テスト入力2
160 180 130
テスト出力2
50

テスト入力3
100 105 190
テスト出力3
90

テスト入力4
100 100 5
テスト出力4
95

テスト入力5
130 180 180
テスト出力5
50


解答例

必ず自分で問題に挑戦してみてから見てください。

クリックで解答例を見る

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

int main() {
  int a, b, c;
  cin >> a >> b >> c;

  int maximum = max(max(a, b), c); // 最大値を計算
  int minimum = min(min(a, b), c); // 最小値を計算

  cout << maximum - minimum << endl;
}