티스토리 뷰
problem
문제링크: https://www.acmicpc.net/problem/21758
입력 : N, 각 장소의 꿀의 양
출력 : 최대의 꿀의 양
solution
두 꿀벌의 위치와 벌통의 위치를 3가지로 나눠 각 경우중 가장 큰 값 출력
- 벌통이 오른쪽 끝에 있는경우
- 벌통이 왼쪽 끝에 있는경우
- 벌통이 두 벌 사이에 있는 경우
code
n = int(input())
ans=0
a = list(map(int,input().split()))
s=[]
s.append(a[0])
for i in range(1,n):
s.append(s[i-1]+a[i])
for i in range(1,n-1):
ans=max(ans,s[n-2]-a[0]+a[i])
for i in range(1, n - 2):
ans = max(ans, s[n-1] - a[0] - a[i] + s[n-1] - s[i])
for i in range(1,n-1):
ans=max(ans,2*s[i-1]+s[n-2]-s[i])
print(ans)
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- 7567
- 파이썬
- 👼
- forensic
- 더하기
- 넓이
- 괄호
- boj
- 21758
- 1
- 4
- 꿀따기
- openCV
- HackCTF
- 프로그레머스
- math
- 2
- 쇠막대기
- 피보나치
- 카카오 2021 블라인드 테스트
- c++
- 스택
- 직업군 추천
- 나머지
- 백준
- programmers
- 다익스트라
- FIBO
- python
- web
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함