CF469B Chat Online

题目描述

小 X 和小 Z 是好朋友,他们总是在网上聊天。但两个人都有各自的作息时间。 小 Z 的作息时间是固定的。他总是在 $a_1$ 到 $b_1$,$a_2$ 到 $b_2$,……,$a_p$ 到 $b_p$ 的时间段在线(所有端点都包括在内)。但小 X 的作息时间有些奇怪,这取决于他起床的时间。如果他在 $0$ 时刻起床,他将会在 $c_1$ 到 $d_1$,$c_2$ 到 $d_2$,……,$c_q$ 到 $d_q$ 的时间段在线(所有端点都包括在内)。但如果他在时刻 $t$ 起床,那么这些时间段将会整体向后平移 $t$,即变为 $[c_i+t, d_i+t]$(对所有的 $i$ 都成立)。 如果在某一时刻,小 X 和小 Z 同时在线,他们就能愉快地聊天。已知小 X 可以在 $[l, r]$ 区间内的某一个整数时刻起床(两端都包括)。同时也已知小 X 希望选择一个能够和小 Z 聊天的起床时间(即两人的作息时间至少有一个时刻重叠)。请问,在 $[l, r]$ 区间内,有多少个整数时刻适合他们愉快地聊天?

输入格式

第一行包含四个用空格隔开的整数 $p,q,l,r$($1 \leq p, q \leq 50; 0 \leq l \leq r \leq 1000$)。 接下来的 $p$ 行,每行包含两个用空格隔开的整数 $a_i, b_i$($0 \leq a_i < b_i \leq 1000$)。再接下来的 $q$ 行,每行包含两个用空格隔开的整数 $c_j, d_j$($0 \leq c_j < d_j \leq 1000$)。 保证对于所有有效的 $i$ 和 $j$,均有 $b_i < a_{i+1}$ 以及 $d_j < c_{j+1}$。

输出格式

输出一个整数,表示在 $[l, r]$ 区间内,适合两人愉快聊天的起床时间的个数。

说明/提示

由 ChatGPT 5 翻译