JOI2019/2020 一次予選第三回 A問題解説
X に最も近い値 (The Nearest Value)
問題文
整数X,L,R が与えられる. L以上R以下の整数のうち, Xとの差の絶対値が最も小さいものを出力せよ. そのような整数はちょうど 1 つだけ存在することが証明できる.
制約
1≦X≦100000. 1≦L≦R≦100000.
入力
入力は以下の形式で標準入力から与えられる
X L R
※問題文、制約、入力の情報は日本情報オリンピック委員会に帰属し、CC4.0 BY-SAで提供されています。 また本記事はCC4.0 BY-SAを継承しています。
解説
入力される数字は次の3つに場合分けされる。
X < Lのとき Lの値を出力する L ≦ X≦ Rのとき Xの値を出力する R < Xのとき Rの値を出力する
ACコード
#include<bits/stdc++.h> using namespace std; int main(){ int X,L,R; cin >> X >> L >> R; if(X < L){ cout << L; }else if(L <= X && X <= R){ cout << X; }else{ cout << R; } }