在成功防止貓咪在年度全國貓咪日(NCD)慶祝活動中滅絕後,貓咪 Ket 收到了來自食人貓王國的飢餓投訴。因此,Ket 被指派運送食物,以防止牠們再次訴諸同類相食。
這個貓咪王國可以模擬為一條從西向東延伸的長路。道路西端有一個食物銀行。食物銀行東側有 $n$ 個貓屋,編號從 $1$ 到 $n$。保證 $n$ 為偶數。第一間屋子位於食物銀行以東 $d[1]$ 公里處。對於 $i \ge 2$,第 $i$ 間屋子位於第 $(i - 1)$ 間屋子以東 $d[i]$ 公里處。
貓咪王國的道路模型示意圖
Ket 將駕駛一輛運貨卡車為這些屋子運送食物。卡車從食物銀行出發,初始時擁有 $x$ 單位的燃料。$1$ 單位的燃料允許 Ket 駕駛卡車沿路行駛 $1$ 公里。
第 $i$ 間屋子有 $f[i]$ 單位的燃料供卡車使用。卡車擁有無限的燃料儲存空間,且僅在燃料耗盡時才會停止。卡車在離開後不需要返回食物銀行。
此外,Ket 擁有一根魔法棒。揮動一次魔法棒,他可以交換第 $i$ 間和第 $(n - i + 1)$ 間貓屋中儲存的燃料量。此交換僅能在兩間屋子的燃料尚未被使用過的情況下進行。請幫助 Ket 找出他能到達的最遠屋子編號 $D$,並找出到達屋子 $D$ 所需的最少交換次數 $S$。
你可以在範例測試案例 1 中找到更詳細的說明。
輸入格式
你的程式必須從標準輸入讀取。
第一行包含兩個以空格分隔的整數 $n$ 和 $x$。
第二行包含 $n$ 個以空格分隔的整數 $d[1], d[2], \dots, d[n]$。
第三行包含 $n$ 個以空格分隔的整數 $f[1], f[2], \dots, f[n]$。
輸出格式
你的程式必須輸出到標準輸出。
在單行輸出兩個以空格分隔的整數。第一個整數應為 $D$,即 Ket 能到達的最遠屋子編號,隨後是 $S$,即到達屋子 $D$ 所需的最少交換次數。
資料範圍
對於所有測試案例,輸入滿足以下限制:
- $2 \le n \le 500\,000$
- $n$ 為偶數。
- 對於所有 $1 \le i \le n$,$1 \le d[i] \le 10^9$
- 對於所有 $1 \le i \le n$,$1 \le f[i] \le 10^9$
- $d[1] \le x \le 10^9$
你的程式將在滿足以下限制的輸入實例上進行測試:
| 子任務 | 分數 | 其他限制 | ||
|---|---|---|---|---|
| 0 | 0 | 範例測試案例 | ||
| 1 | 7 | 對於所有 $1 \le i \le n$,$ | f[i] - f[n - i + 1] | = k$($k$ 為某個常數) |
| 2 | 12 | $n \le 40$ | ||
| 3 | 14 | $f$ 為非遞減數列(對於所有 $1 \le i \le n - 1$,$f[i] \le f[i + 1]$) | ||
| 4 | 19 | $D \le \frac{n}{2}$ | ||
| 5 | 21 | $n \le 5000$ | ||
| 6 | 27 | 無其他限制 |
說明:數字 $x$ 的絕對值,記作 $|x|$,是數線上 $0$ 與 $x$ 之間距離的非負數。例如,$|5| = 5$ 且 $|-5| = 5$。
範例
輸入格式 1
6 1 1 1 3 1 1 6 1 1 1 4 3 2
輸出格式 1
5 1
說明
食物銀行東側有 $n = 6$ 間屋子。Ket 的卡車初始有 $x = 1$ 單位的燃料,並移動到第 $1$ 間屋子。他在第 $1$ 間屋子加油後開往第 $2$ 間屋子。此時,Ket 使用魔法棒交換第 $2$ 間和第 $5$ 間屋子的燃料量是最優的,這使他能補充 $3$ 單位的燃料並到達第 $3$ 間屋子。隨後,他在前往接下來兩間屋子前可以補充 $1$ 單位的燃料,並在第 $4$ 間和第 $5$ 間屋子分別補充 $4$ 和 $1$ 單位的燃料(由於之前的交換)。
此時他剩下 $4$ 單位的燃料,無法前往第 $6$ 間屋子,因為該處需要 $6$ 單位的燃料。由於 Ket 在到達第 $6$ 間屋子前燃料耗盡,他只能到達第 $5$ 間屋子。此外,他必須使用魔法棒進行一次交換。因此,$D = 5$ 且 $S = 1$。
輸入格式 2
6 5 3 8 3 1 4 1 2 7 1 6 2 7
輸出格式 2
6 1
輸入格式 3
6 2 2 24 25 40 5 11 4 12 14 16 20 30
輸出格式 3
3 2
輸入格式 4
6 10 3 6 3 7 8 6 4 3 1 7 1 6
輸出格式 4
5 1