Official

A - 3枚のカード/Three cards Editorial by leaf1415


本問題の答えは \(X := \min \lbrace A\times B, B\times C, C\times A\rbrace\)\(Y := \max \lbrace A\times B, B\times C, C\times A\rbrace\)です。
これらを計算して出力するプログラムを作成すれば本問題に正解することができます。

具体的には、以下の手順を行うプログラムを作成すれば良いです。

  1. \(A, B, C\) を標準入力から読み込む。
  2. \(X = \min \lbrace A\times B, B\times C, C\times A\rbrace\) および \(Y = \max \lbrace A\times B, B\times C, C\times A\rbrace\) を計算する。
  3. \(X, Y\)を標準出力に出力する。

手順 1. と手順 3. の入出力を実装する方法は、プログラミング言語に依存するため、使用するプログラミング言語の仕様を把握しておきましょう。

手順 2. の計算には、プログラミング言語の標準的な機能である条件分岐(if文など)を用いることができます。また、プログラミング言語に整数等の大小を比較する関数などが備わっていればそれを用いることもできます。

\(X\) が負の値になる場合もあることに注意してください。

以下に、本問題の正解例を記載します。

#include<iostream>
using namespace std;

int main(void)
{
  int a, b, c;
  cin >> a >> b >> c;
  
  int x = a*b;
  if(x > b*c) x = b*c;
  if(x > c*a) x = c*a;
  
  int y = a*b;
  if(y < b*c) y = b*c;
  if(y < c*a) y = c*a;
  
  cout << x << " " << y << endl;
  
  return 0;
}

posted:
last update: