zerojudge題目:https://zerojudge.tw/ShowProblem?problemid=f581
有 n 個房間排成一個環,編號分別是 0 到 n−1。 房間之間有單向的路徑,編號 i 的房間可以走到編號 (i+1)modn的房間。 每次進入編號 i 的房間可以獲得 pi 個點數(最一開始待的房間也可以獲得點數)。
現在依序有 m 個任務,第 i 個任務需要蒐集到 qi 個點數。對於每次的任務,若一開始在編號 s 的房間,且走到編號 t 的房間時候可以蒐集到需要的點數,則完成這次任務後會停在編號 (t+1)modn 的房間。
一開始在編號 0 的房間,依據接收到 m 個任務,請求出完成第 m 個任務後會停在哪個編號的房間?
輸入說明
第一行包含兩個正整數 n,m(1≤n≤200000,1≤m≤20000)。 第二行包含 n 個正整數 p0,p1,p2,…,pn−1,p 的總和不超過 10^9。 第三行包含 m 個正整數 q0,q1,q2,…,qm−1, qi 不會超過 p 的總和。
配分
20分: 1≤n,m≤100
80分: 同原題目限制。
輸出說明
輸出一個非負整數表示最後停在哪個編號的房間
輸入範例1
7 3
2 1 5 4 3 5 3
8 9 12
輸出範例1
4
第一次需要8點,2+1+5,停留在編號3的房間,第二次需要9點,4+3+5,停留在編號6的房間,第三次需要12點,3+2+1+5+4,停留在編號4的房間,答案為4
輸入範例2
4 3
1 3 5 7
4 2 2
輸出範例2
0
解題策略
前綴和、二分搜