풀이
- 범위를 슬라이싱을 통해 역순까지 추가해준 다음 풀이
- 이후 해당 범위를 위해 start에 누적합을 적용
- 해당 범위안에 k의 값이 적용된다면
- i가 n-1보다 클 경우엔 2*n-i로
- 작더가 같다면 i+1을 출력하여 해결
import sys
input = sys.stdin.readline
n,k = map(int,input().split())
li = list(map(int,input().rstrip('\n').split()))
li = li+ li[::-1]
start = 0
for i in range(2*n):
if start<=k<start+li[i]:
if i>n-1: print(2*n-i)
else: print(i+1)
break
start += li[i]
'알고리즘' 카테고리의 다른 글
[백준, 파이썬, 13413번] 오셀로 재배치 (0) | 2023.09.19 |
---|---|
[백준, 파이썬, 17086번] 아기 상어 2 (0) | 2023.09.18 |
[백준, 파이썬, 18404번] 현명한 나이트 (0) | 2023.09.17 |
[백준, 파이썬, 3986번] 좋은 단어 (0) | 2023.09.17 |
[백준, 파이썬, 1965번] 상자넣기 (0) | 2023.09.16 |