【ABC199 B】「Intersection」を解く【Python3】

「AtCoder」解説一覧へ

与えられた数列A、数列Bに対して、以下の条件を満たす整数xの個数を求める問題です。

Ai≦x≦Bi(i は 1≦i≦Nを満たす全ての整数)

提出
n = int(input())
a = list(map(int, input().split()))
b = list(map(int, input().split()))

print(max(0, min(b)-max(a)+1))

入力例1 を見てみると、xは、3≦x≦7、2≦x≦5 の両方を満たさなければならないとあります。

両方を満たすものは、3≦x≦5 の3個です。

Ai の最大値と、Bi の最小値を含み、その間にある整数の個数を求めればよいことが分かります。

「Bi の最小値」-「Ai の最大値」+1

が答えになります。

「Bi の最小値」の方が小さい場合は、0個なのですが、この計算だと負の値が出てしまうので、0と計算式のより大きい方を出力します。

【ABC199】解説記事リスト

「AtCoder」解説一覧に戻る

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です