티스토리 뷰

반응형

 

문제

 

1912번: 연속합

첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다.

www.acmicpc.net

풀이

옛날에 코테 문제중에 이 문제를 풀었던것같은데 언제였는지 기억이 안난다. 

뭔가 함정이 있을것 같았는데 생각보다 쉽게 풀렸다.

 

왼쪽부터 시작해서, 본인+왼쪽이 본인보다 클때 본인을 업데이트해주면 된다.

그 후, 배열에서 최대값을 출력하면 되는 문제 

 

import sys

n = int(sys.stdin.readline())
numbers = list(map(int, sys.stdin.readline().split(" ")))

for i in range(1, len(numbers)):
    if numbers[i] + numbers[i-1] > numbers[i]:
        numbers[i] += numbers[i-1]

print(max(numbers))

반응형