인경호수공원

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

요약
각 갈림길이 출입구와 연결된 고리 모양 공원에서 서로 다른 두 출입구를 잇는 단순 경로 중 가장 긴 거리를 구한다.
난이도

보통10점 중 7점

유형
동적 계획법, 누적 합, 수학
정답자
아직 제출이 없습니다

문제

인경호수공원은 위 그림과 같이 인경호를 둘러싼 NN개의 갈림길과 NN개의 출입구가 있는 호수공원이다.

호수의 각 갈림길과 출입구에는 시계방향으로 00번부터 N−1N - 1번까지 번호가 매겨져 있다. 공원의 ii번 갈림길은 (i−1) mod N(i - 1) \ \text{mod} \ N번 갈림길, (i+1) mod N(i + 1) \ \text{mod} \ N번 갈림길, 그리고 ii번 출입구와 길로 연결되어 있다. ii번 갈림길과 (i+1) mod N(i + 1) \ \text{mod} \ N번 갈림길 사이 길의 거리는 a_ia\_i, ii번 갈림길과 ii번 출입구 사이 길의 거리는 b_ib\_i이다.

이 인경호수공원의 환경이 마음에 든 용모는 다음과 같은 조건을 만족하는 산책 코스를 짜기로 했다.

  • 산책 코스는 공원에 있는 길만을 포함한다.
  • 산책 코스의 시작과 끝은 공원의 서로 다른 두 출입구이다.
  • 이미 지나갔던 길을 다시 지나지 않는다.

용모는 산책을 좋아하기 때문에 조건을 만족하는 가능한 모든 산책 코스 중 거리가 가장 긴 산책 코스를 골라 산책을 하기로 했다. 이때 용모가 고른 산책 코스 거리를 구하는 프로그램을 작성해 보자.

입력

첫 번째 줄에 인경호수공원의 인경호를 둘러싼 갈림길의 개수를 나타내는 정수 NN이 주어진다.

두 번째 줄에 ii번 갈림길과 (i+1) mod N(i + 1) \ \text{mod} \ N번 갈림길 사이 길의 거리를 나타내는 NN개의 정수 a_0a\_0, a_1a\_1, ⋯\cdots, a_N−1a\_{N-1}이 공백으로 구분되어 주어진다.

세 번째 줄에 ii번 갈림길과 ii번 출입구 사이의 거리를 나타내는 NN개의 정수 b_0b\_0, b_1b\_1, ⋯\cdots, b_N−1b\_{N-1}이 공백으로 구분되어 주어진다.

출력

용모가 짤 수 있는 공원 산책 코스 거리의 최댓값을 출력한다.

제한

  • 2≤N≤200,0002 ≤ N ≤ 200{,}000
  • 1≤a_i≤1091 ≤ a\_i ≤ 10^9
  • 1≤b_i≤1091 ≤ b\_i ≤ 10^9

힌트

정수 aa와 00이 아닌 정수 bb에 대해, a=bq+ra = bq + r와 0≤r<∣b∣0 \le r \lt |b|를 만족하는 정수 qq, rr이 유일하게 존재하며, 이때 rr을 aa를 bb로 나누었을 때 나머지라 한다.

a mod ba \ \text{mod} \ b는 aa를 bb로 나누었을 때 나머지를 의미한다.

예제2

  1. 예제 1

    입력
    5
    1 2 3 2 5
    1 2 10 3 7
    
    예상 출력
    25
    
  2. 예제 2

    입력
    2
    1 1
    1 1
    
    예상 출력
    3