小明正在和朋友們玩跳石頭的小游戲,一共有 n 塊石頭按 1 到 n 順序排成一排,第 i 塊石頭上寫有正整數(shù)權(quán)值 ci。
如果某一時(shí)刻小明在第 j 塊石頭,那么他可以選擇跳向第 j + cj 塊石頭(前提 j + cj ≤ n)或者跳向第 2j 塊石頭(前提 2 j ≤ n),沒(méi)有可跳躍的目標(biāo)時(shí)游戲結(jié)束。
假如小明選擇從第 x 塊石頭開始跳躍,如果某塊石頭有可能被小明經(jīng)過(guò)(“經(jīng)過(guò)” 指存在某一時(shí)刻小明在這個(gè)石頭處),則將這塊石頭的權(quán)值納入得分集合 Sx,那么小明從第 x 塊石頭開始跳躍的得分為 |Sx|。
比如如果小明從第 x 塊石頭出發(fā),所有可能經(jīng)過(guò)的石頭上的權(quán)值分別為5, 3, 5, 2, 3,那么 S x = {5, 3, 2} 得分為 |Sx| = 3。小明可以任選一塊石頭開始跳躍,請(qǐng)求出小明最多能獲得的分?jǐn)?shù)。
輸入共 2 行。第一行為一個(gè)正整數(shù) n。第二行為 n 個(gè)由空格分開的正整數(shù) c1, c2, . . . , cn。
輸出共 1 行,一個(gè)整數(shù)表示答案。
5 4 3 5 2 1
4
【樣例說(shuō)明】
從第一塊石頭出發(fā)得分最多,路徑有以下幾種:
1號(hào) → 5 號(hào):選擇從 1 號(hào)跳到 1 + c1=5 號(hào)。
1 號(hào) → 2 號(hào) → 5 號(hào):第一次選擇從 1 號(hào)跳到 2 × 1=2 號(hào),第二次選擇從2 號(hào)跳到 2 + c2 = 5 號(hào)。
1 號(hào) → 2 號(hào) → 4 號(hào):第一次選擇從 1 號(hào)跳到 2 × 1=2 號(hào),第二次選擇從2 號(hào)跳到 2 × 2 = 4 號(hào)
所以所有可能經(jīng)過(guò)的石頭的權(quán)值的集合為 S 1 = {c1, c2, c4, c5} = {4, 3, 2, 1},得分為 |S1| = 4。
【評(píng)測(cè)用例規(guī)模與約定】
對(duì)于 20% 的評(píng)測(cè)用例,保證 n ≤ 20。
對(duì)于 100% 的評(píng)測(cè)用例,保證 n ≤ 40000,ci ≤ n。