下週是學校團體報告的繳交期限,阿明希望和阿文盡快開個會議討論報告的細節和分工。
不過兩人都很忙,只有一些瑣碎的時間可以利用。為了解決這個問題,他們提供了各自有空的時間段,也決定了討論所需的時間,希望找到 一個最早可行的連續時間段來開會,此連續時間段中兩人都必須有空。
舉例來說,阿明有三個空閒時間段:(10, 50)、(60, 120) 和 (140, 210),阿文則有兩個空閒時間段:(0, 15) 與 (60, 70)。
如果他們需要 8 個單位時間來討論,可以發現最早可行的時間段為 (60, 68);但如果他們需要 12 個單位時間,因為共同空閒的時間不夠,他們將無法安排會議。 請你設計一個程式來幫助阿明和阿文找到合適的會議時間。
輸入第一列包含兩個整數 N 與 M (1 ≤ N ≤ 100, 1 ≤ M ≤ 100),分別表示阿明 和阿文的空閒時段數量。
接下來有 N+M列輸入,每列有兩個整數 𝑠 與 𝑒 (1 ≤ 𝑠 < 𝑒 ≤ 10000) ,表示一個空閒時段的開始時間和結束時間;其中前 N 列為阿明的 時段而後 M 列為阿文的空閒時段。
保證每人的空閒時段由小到大排序且不重疊。 最後一列有一整數 𝐷 (1 ≤ 𝐷 ≤ 5000),表示會議所需時間長度。輸入中兩個整數 間以一個空白間隔。
輸出兩個整數,以空白間隔,表示最快可以安排會議的開始和結束時間。 若無法安排,輸出 -1。
2 2 8 15 20 75 25 90 100 110 25
25 50
3 2 10 50 60 120 140 210 0 15 60 70 8
60 68
編號 | 身分 | 題目 | 主題 | 人氣 | 發表日期 |
沒有發現任何「解題報告」 |