Последовательная перечислены из каждого номера 2e5-1 карты в качестве ведущего, а затем искать номер сегмента больше, чем число его сложности здесь гармонический ряд ln2e5, т.е. сложность Eppendorf решето ,,
# include <бит / STDC ++ ч.> с использованием пространства имен STD; #define LL долго долго #define N 200005 INT CNT [N], п; #define lson л, м, к.т. << 1 #define rson т + 1, г, к.т. << 1 | 1 LL Num [N << 2 ]; недействительным обновление ( INT поз, INT v, INT л, INT г, INT к.т.) { если (л == г) { Num [RT] + = v; вернуться ; } INT т = L + R >> 1 ; если(поз <= м) обновление (позы, V, lson); остальное обновление (позы, v, rson); Num [RT] = Num [к.т. << 1 ] + Num [к.т. << 1 | 1 ]; } LL запросов ( INT L, INT R, INT л, INT г, INT к.т.) { если (L <= L && R> = г) { возвращение Num [RT]; } INT т = L + R >> 1 ; LL разрешение = 0 ; если (L <= т) + = разреш запроса (L, R, lson); если (R> м) Рез + = запрос (L, R, rson); вернуться Рез; } INT основных () { CIN >> п; для ( INT I = 1 ; г <= п; я ++ ) { INT х; зсапЕ ( " % d " , & х); CNT [х] ++ ; } LL ANS = 0 ; для (LL я = 200000 ; я> = 1 ; i--) , если (CNT [я]) { LL TMP = 0 ; обновление (я, CNT [I], 1 , 200000 , 1); для (LL J = 1 , J * г <= 200000 ; j ++ ) TMP + = запрос (J * я, мин (200000ll, (J + 1 ) * i - 1 ), 1 , 200000 , 1 ) * г * J; ANS = макс (ANS, TMP); } СоиЬ << анс << епсИ; }