B - Integer Preference Editorial by Mitsubachi
$A > C$ の場合は $A,B$ と $C,D$ を入れ替えることで $A \leq C$ とすることができます。
この「入れ替える」という操作は C++ なら swap などで実現できます。
このとき、 $C \leq B$ であれば、 Yes
、そうでなければ No
であることを示します。
-
$A \leq C \leq B$ であるので、 $C$ はすぬけ君と高橋君のどちらも好きな整数です。よって答えは
Yes
です。
-
$C>B$ です。
よって、 $C$ 以上 $D$ 以下のどの数も $B$ より大きいので、答えは
No
です。
よって、後はこれをコードにするとよいです。判定には if文 を使うことができます。
また、 $A>C$ の場合にも同様に考えることで、 $\max(A,C) \leq \min(B,D)$ であれば Yes
、そうでなければ No
と分かります。
実装例(C++)
#include <bits/stdc++.h>
using namespace std;
int main(){
long long a,b,c,d;
cin>>a>>b>>c>>d;
if(a>c){
swap(a,c);
swap(b,d);
}
if(c<=b){
cout<<"Yes"<<endl;
}
else{
cout<<"No"<<endl;
}
}
実装例(Python)
a,b,c,d=map(int,input().split())
if a>c:
a,c,b,d=c,a,d,b
if c<=b:
print("Yes")
else:
print("No")
posted:
last update: