条件を巧みに言い換えて整理しよう!
問題概要
3 個の整数 が与えられる。
がメディアンであるかどうかを判定せよ。
解法
がメディアンとは、すなわち、
を小さい順に並べたときに、
が 2 番目に小さいということである。そのような場合は
が最も小さく、
が 2 番目で、
が 3 番目
が最も小さく、
が 2 番目で、
が 3 番目
のいずれかである (等しい場合もあるので、どちらとも言えるようなケースもある)。よって、
または
を判定すればよい。
コード
#include <bits/stdc++.h> using namespace std; int main() { int a, b, c; cin >> a >> b >> c; if (a <= b && b <= c) cout << "Yes" << endl; else if (c <= b && b <= a) cout << "Yes" << endl; else cout << "No" << endl; }