Official
B - 会議室の空き時間 / Available Time Slots for Meeting Rooms Editorial
by
B - 会議室の空き時間 / Available Time Slots for Meeting Rooms Editorial
by
kyopro_friends
\([L,R]\cap[l,r]=[\max(L,l),\min(R,r)]\) となります。ただし、\(x>y\) のとき \([x,y]\) は空集合を表すものとします。\([x,y]\) の要素数は \(x>y\) のとき \(0\)、そうでないとき \(y-x+1\) となります。よって、現在の利用可能時刻の区間を保持・更新することでこの問題を解くことができます。
実装例 (C++)
#include<bits/stdc++.h>
using namespace std;
int main(){
int L, R;
cin >> L >> R;
int n;
cin >> n;
for(int i=0; i<n; i++){
int l, r;
cin >> l >> r;
L = max(L, l);
R = min(R, r);
if(L > R){
cout << 0 << endl;
}else{
cout << R-L+1 << endl;
}
}
}
実装例 (Python)
L, R = map(int, input().split())
N = int(input())
for _ in range(N):
l, r = map(int, input().split())
L = max(L, l)
R = min(R, r)
if L > R:
print(0)
else:
print(R-L+1)
