[파이썬] 백준 22945 : 팀 빌딩 (골드4)
22945번: 팀 빌딩
개발자 $N$명이 팀 빌딩을 위해 한 줄로 서있다. 하나의 팀을 만들기 위해서는 개발자 2명이 반드시 모여야 한다. 개발자 A와 개발자 B가 팀을 만들 때 팀의 능력치는 아래와 같이 계산이 된다. (개
www.acmicpc.net
문제
풀이
방향성 생각
- 구간 양 끝을 잡고 점수를 점수를 계산한다.
- 포인터를 작은쪽을 변경시켜야 더 높은 점수를 얻을 수 있는 가능성이 생긴다.
- 왼쪽 포인터의 값이 크면 오른쪽 포인터를 감소시키고, 그 반대의 경우는 왼쪽 포인터를 감소시킨다.
전체코드
n = int(input())
info = list(map(int,input().split()))
l,r = 0,n-1
answer = (n-2)*min(info[0],info[-1])
while l!=r:
if info[l] >= info[r]:
answer = max(answer,info[r]*(r-1-l))
r -= 1
else:
answer = max(answer,info[l]*(r-1-l))
l += 1
print(answer)
코멘트
.
'Algorithm > etc' 카테고리의 다른 글
[파이썬] 1484 : 다이어트 (골드5) (0) | 2024.01.16 |
---|---|
[파이썬] 백준 3089 : 네잎 클로버를 찾아서 (골드2) (0) | 2023.12.18 |
[파이썬] 백준 1035 : 조각 움직이기 (골드1) (0) | 2023.12.16 |
[파이썬] 프로그래머스 : 모음사전 (Lv.2) (0) | 2023.11.30 |
[파이썬] 프로그래머스 : 타겟 넘버 (Lv.2) (0) | 2023.11.10 |
[파이썬] 백준 1405 : 미친로봇 (골드4) (0) | 2023.11.05 |
[파이썬] 백준 1234 : 크리스마스 트리 (골드2) (0) | 2023.11.05 |
댓글