만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

비즈니스 마법

면접 대비

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

요약
하나의 구간을 두 배로 만들고 구간 밖의 음수 가게는 부호를 바꿔 다음 달 전체 순이익의 최댓값을 구합니다.
난이도

보통10점 중 5점

유형
배열, 동적 계획법
정답자
아직 제출이 없습니다

문제

nn개의 상점이 거리를 따라 늘어서 있으며, 가까운 곳부터 멀리 있는 곳까지 1번부터 nn번까지 번호가 붙어 있다. 지난달 상점 kk의 순이익은 rkr_k였다. rkr_k가 양수이면 rkr_k달러의 이익을, 음수이면 −rk-r_k달러의 손실을 뜻한다.

다음 달 상점들의 순이익을 바꿀 수 있는 마법이 두 종류 있다.

  1. 파란 마법: 연속된 구간 [L,R][L, R]을 하나 고른다. LL번 상점부터 RR번 상점까지(양 끝 포함) 모든 상점의 순이익을 두 배로 만든다. 즉 k∈[L,R]k \in [L, R]이면 상점 kk의 다음 달 순이익은 2rk2r_k가 된다.
  2. 초록 마법: 상점 하나를 고르고 그 상점에 마법을 건다. 그 상점의 다음 달 순이익은 지난달 순이익의 음수가 된다.

두 마법 중 어느 것도 받지 않은 상점은 다음 달에도 지난달과 같은 순이익을 낸다.

마법을 쓰는 데에는 제약이 있다. 파란 마법은 한 번만 쓸 수 있으며, 반드시 초록 마법보다 먼저 써야 한다. 파란 마법을 받은 상점에는 초록 마법을 걸 수 없다. 마법을 최적으로 썼을 때 다음 달 모든 상점 순이익 합의 최댓값을 구하라.

입력

첫째 줄에 상점의 수 nn이 주어진다. 둘째 줄에는 공백으로 구분된 정수 r1,r2,…,rnr_1, r_2, \dots, r_n이 주어지며, rkr_k는 지난달 상점 kk의 순이익이다.

출력

다음 달 모든 상점 순이익 합의 최댓값을 정수 하나로 출력한다.

제한

  • 1≤n≤3×1051 \le n \le 3 \times 10^5
  • −109≤rk≤109-10^9 \le r_k \le 10^9 (k∈{1,2,…,n}k \in \{1, 2, \dots, n\})

예제3

  1. 예제 1

    입력
    5
    -2 5 -3 4 -1
    
    예상 출력
    20
    
  2. 예제 2

    입력
    7
    -1 -1 -1 -1 -1 -1 -1
    
    예상 출력
    7
    
  3. 예제 3

    입력
    4
    998244353 864197532 -7 1000000000
    
    예상 출력
    5724883756