數軸上有 n 棵蘋果樹,位置 x_i(非零),蘋果數 a_i。從 0 出發,先選方向(左/右),每到一棵未訪問的樹摘光蘋果並反向,直到當前方向無未訪問樹。求最大蘋果總數。
路徑必然是「左、右、左、右…交替」訪問樹。設左邊樹按位置降序(離 0 由近到遠)為 L[1..p],右邊樹按位置升序為 R[1..q]。
若先向左:訪問順序 L[1], R[1], L[2], R[2], ...,直到某側耗盡。
若先向右:訪問順序 R[1], L[1], R[2], L[2], ...。
因此只需模擬兩種起始方向,取最大值。
simulate(firstLeft):雙指針 i,j 分別指向左右下一棵樹,按順序累加蘋果,直到對應方向無樹。