본문 바로가기

코딩/백준 BOJ

[백준/C언어] 1912번 - 연속합

백준 웹사이트 "1912번 - 연속합" 문제풀이입니다.

언어는 C언어입니다. (제출 언어: C99)

 


문제

 

1912번: 연속합

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

www.acmicpc.net


소스 코드

#include <stdio.h>

int main(void){
    int n;
    scanf("%d", &n);
    int num[n];
    for(int i=0; i<n; i++){
        scanf("%d", &num[i]);
    }

    int consecutive_sum[n];
    consecutive_sum[0] = num[0];
    for(int i=1; i<n; i++){
        consecutive_sum[i] = num[i];
        if(consecutive_sum[i-1] > 0)
            consecutive_sum[i] += consecutive_sum[i-1];
    }

    int max = -100000000;   //최솟값: -1000 * 100000
    for(int i=0; i<n; i++){
        //printf("%d ", consecutive_sum[i]);
        if(max < consecutive_sum[i])
            max = consecutive_sum[i];
    }
    //printf("\n");
    printf("%d\n", max);
}

문제 풀이

  

반응형