RiseOJ는 solved.ac와 제휴 관계가 없습니다. 티어 아이콘 © solved.ac. solved.ac
포럼
KOI00072

꿀 따기

Gold V 골드 V
난이도
1s
시간 제한
512MB
메모리 제한
9
맞았습니다!!
9
제출 수
100.0%
정답률
레이팅

의견: 0

설명

아래와 같이 좌우로 \(N\)개의 장소가 있다.

장소들 중 서로 다른 두 곳을 골라서 벌을 한 마리씩 둔다. 또, 다른 한 장소를 골라서 벌통을 둔다. 아래 그림에서 연한 회색의 장소는 벌이 있는 장소이고 진한 회색의 장소는 벌통이 있는 장소이다.

두 마리 벌은 벌통으로 똑바로 날아가면서 지나가는 모든 칸에서 꿀을 딴다. 각 장소에 적힌 숫자는 벌이 지나가면서 꿀을 딸 수 있는 양이다.

  1. 두 마리가 모두 지나간 장소에서는 두 마리 모두 표시된 양 만큼의 꿀을 딴다. (벌통이 있는 장소에서도 같다.)
  2. 벌이 시작한 장소에서는 어떤 벌도 꿀을 딸 수 없다.

위의 그림과 같이 배치된 경우 두 마리의 벌 모두 \(4 + 1 + 4 + 9 + 9 = 27\)의 꿀을 따서, 전체 꿀의 양은 54가 된다.

위의 그림과 같이 배치된 경우 왼쪽 장소에서 출발한 벌은 \(9 + 4 + 4 + 9 + 9 = 35\)의 꿀을 따고 오른쪽 장소에서 출발한 벌은 \(4 + 9 + 9 = 22\)의 꿀을 따므로, 전체 꿀의 양은 \(57\)이 된다.

위의 그림과 같은 경우는 전체 꿀의 양이 31이 된다.

장소들의 꿀 양을 입력으로 받아 벌들이 딸 수 있는 가능한 최대의 꿀의 양을 계산하는 프로그램을 작성하라.

제약
  • \(3 \le N \le 100\,000\)
  • 각 장소의 꿀의 양은 \(1\) 이상 \(10\,000\) 이하의 정수이다.
입력 형식

첫 번째 줄에 장소의 수 \(N\)이 주어진다.

다음 줄에 왼쪽부터 각 장소에서 꿀을 딸 수 있는 양이 공백 하나씩을 사이에 두고 주어진다.

출력 형식

첫 번째 줄에 가능한 최대의 꿀의 양을 출력한다.

서브태스크
서브태스크점수설명

1

11점

\(N \le 20\)

2

13점

\(N \le 500\)

3

31점

\(N \le 5\,000\)

4

45점

추가적인 제한이 없음.

예제 1
입력
7
9 9 4 1 4 9 9
출력
57
예제 2
입력
7
4 4 9 1 9 4 4
출력
54
예제 3
입력
3
2 5 4
출력
10
힌트

막혔나요? 코인으로 단계별 힌트를 잠금 해제하세요 — 첫 힌트는 가벼운 방향 제시, 뒤로 갈수록 더 많이 알려 줍니다. 문제를 풀면 모든 힌트가 무료로 공개됩니다.

문제 정보

riseoj 작성

출처 올림피아드 > 한국정보올림피아드 > KOI 2021 > 1차 대회 > 중등부 1번

평가 및 의견

꿀 따기

개요
출제자 난이도 Gold V 골드 V 의견 0 / 50 공개 집계 (커뮤니티 난이도, 주요 주제, 품질)는 의견이 충분히 모이면 공개됩니다.

Log in to rate problems.

개별 의견

아직 의견이 없습니다. 자격이 된다면 위 양식에서 가장 먼저 평가해 보세요.

풀이 제출

꿀 따기

게스트로 둘러보고 있습니다. 로그인하면 풀이를 제출하고 진행 상황을 확인할 수 있습니다. 로그인하고 제출하기
공개
C++20 Tab 들여쓰기 · Ctrl+/ 주석 토글 · Enter 자동 들여쓰기
1 1 1 0 공백: 4 · UTF-8