연속부분합 찾기 > 문제은행 : 정보올림피아드&알고리즘



1836 : 연속부분합 찾기

제한시간
1000 ms   
메모리제한
32 MB   
해결횟수
717 회   
시도횟수
1624 회   

문제

N개의 정수를 담고 있는 배열이 주어졌을 때, 

여기서 가능한 연속 부분합을 구하는 프로그램을 작성하라.

 

여기서 연속 부분합이라는 것은 배열에서 연속된 숫자들을 선택해서 합하였을 때의 값을 말한다. 

아무 배열도 택하지 않는 경우도 연속 부분합에 포함됨을 유의하자.


입력형식

입력의 첫 번째 줄에는 정수 N(1≤N≤105)가 입력된다.

그리고 그 다음 줄에는 N개의 배열에 담긴 숫자가 순서대로 입력된다. 

숫자의 범위는 -100이상 100이하의 정수다.


출력형식

입력에 대한 가장 큰 연속 부분합을 출력한다.

입력 예

4
1 2 -2 4

출력 예

5

입력 예

10
3 -4 0 1 7 -4 13 -9 8 -3

출력 예

17

Kadane's algorithm, Maximum subarray problem

경기도 안양시 동안구 평촌대로 109 협성골드프라자 601호

TEL : 031-360-4144 FAX : 031-388-0996 E-mail : hancomc@hotmail.com, comkiwer@naver.com

Copyrightⓒ 2010 jungol. All right reserved.

TOP