본문 바로가기

정올문제소스코드

1836 : 연속부분합 찾기

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;
 
public class Main {
 
    public static void main(String[] args) throws IOException {
        // TODO Auto-generated method stub
        BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st;
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
         
        int n, i, j;
        int arr[] = new int [100000];
 
        st = new StringTokenizer(in.readLine());
        n = Integer.parseInt(st.nextToken());
        st = new StringTokenizer(in.readLine());
         
        for (i = 0; i < n; i++) {
            arr[i] = Integer.parseInt(st.nextToken());
        }
         
        int sum = 0;
        int ans = -987654321;
         
        for (i = 0; i < n; i++) {
            sum += arr[i];
            ans = Math.max(ans, sum);
            if (sum < 0) sum = 0;
        }
         
         
        bw.write(String.format("%d", ans));
        bw.flush();
    }
 
}

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=1109&sca=2060

'정올문제소스코드' 카테고리의 다른 글

3427 : 볼 모으기(balls)  (0) 2021.10.29
2259 : 참외밭  (0) 2021.10.29
1761 : 숫자 야구  (0) 2021.10.29
1031 : 빙고  (0) 2021.10.29
1733 : 오목  (0) 2021.10.29