아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

시철이가 사랑한 GCD

시간 제한1초메모리 제한1024 MB

요약
주어진 배열에서 왼쪽 floor(n/2)개 또는 오른쪽 ceil(n/2)개를 반복해서 떼어내고, 떼어낸 각 묶음의 최대공약수를 모두 더했을 때 얻을 수 있는 최댓값을 구한다.
난이도

어려움10점 중 8점

유형
동적 계획법, 그리디, 수학, 정수론
정답자
아직 제출이 없습니다

문제

시철이는 신촌에서 가장 아름다운 자취방을 구하려 한다. 너무 바빠서 직접 방을 보러 다닐 수 없었던 시철이는 인터넷에 올라온 매물번호와 최대공약수(GCD)를 이용해 자취방의 아름다움을 예측하려 한다. 아름다움을 계산하는 방법은 다음과 같다.

  1. 매물번호를 나타내는 정수 배열 SS가 있다. (∣S∣=N|S| = N, ∣S∣|S|는 SS의 원소 개수)
  2. 배열 SS의 원소를 왼쪽부터 ⌊∣S∣2⌋\lfloor \frac{|S|}{2} \rfloor개 선택하거나, 오른쪽부터 ⌈∣S∣2⌉\lceil \frac{|S|}{2} \rceil개 선택한다. 만약 SS의 원소가 단 한 개라면 그 원소를 선택한다.
  3. 선택한 원소들의 GCDGCD를 구한다.
  4. 선택하지 않은 원소들로 이루어진 배열 S′S'에 대해 2번부터 다시 반복한다.
  5. 자취방의 아름다움은 3번에서 구한 GCDGCD들의 합의 최댓값으로 정의한다.

매물번호를 이용해 자취방의 아름다움을 계산해 보자!

입력

첫째 줄에 정수 NN이 주어진다. (1≤N≤200 0001 \leq N \leq 200\,000)

둘째 줄에 자취방의 매물번호를 의미하는 정수 a1,a2,⋯ ,aNa_1, a_2, \cdots, a_N이 주어진다. (1≤ai≤200 0001 \leq a_i \leq 200\,000)

출력

자취방의 아름다움을 출력한다.

예제2

  1. 예제 1

    입력
    4
    4 4 4 4
    
    예상 출력
    12
    
  2. 예제 2

    입력
    5
    1 2 3 4 5
    
    예상 출력
    13