以下の内容はhttps://blog.hamayanhamayan.com/entry/2020/09/27/012758より取得しました。


Integer Preference [ACL Beginner Contest B]

https://atcoder.jp/contests/abl/tasks/abl_b

解説

https://atcoder.jp/contests/abl/submissions/17050220

[A,B]と[C,D]の区間のANDを取ったときに、残る区間があるかという問題。
区間のANDを取りたい場面は結構あって、以下の手法が役に立つ。

[A,B]と[C,D]の区間のAND -> [max(A,C),min(B,D)]

ANDを取ったときに区間が残らない場合は、[4,2]みたいな変な感じになるので、ANDを取った[L,R]に対して、
L≦Rであるかを確認すれば区間が残るかが分かる。

ll A, B, C, D;
//---------------------------------------------------------------------------------------------------
void _main() {
    cin >> A >> B >> C >> D;

    ll L = max(A, C);
    ll R = min(B, D);

    if (L <= R) cout << "Yes" << endl;
    else cout << "No" << endl;
}



以上の内容はhttps://blog.hamayanhamayan.com/entry/2020/09/27/012758より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14