tjdwlsdlaek   6년 전

import java.util.Scanner;

public class Main {

 public int maxi(int a, int b) {

  int o = a > b ? a : b;

  return o;

 }

 static int arr[];

 static int temp[];

 public static void main(String[] args) {

  Scanner sc = new Scanner(System.in);

  Main m = new Main();

  int maximum = 0;

  int k = 2;   int z = 1;  

 int n = sc.nextInt();

  int arr[] = new int[n + 1];  

 int temp[] = new int[n];

  for (int i = 1; i < n + 1; i++) {

   arr[i] = sc.nextInt();   

}  

 maximum = arr[1];

  for (int i = 1; i < n; i++) { // arr에 기본 합 저장    

 arr[i + 1] = arr[i] + arr[i + 1];

   maximum = m.maxi(maximum, arr[i + 1]);

  }

  while (true) {    if (n >= 3) {

    for (int q = k; q < n; q++) { // temp에 기본합을 이용함

     temp[q - 2] = arr[q + 1] - arr[z];

     maximum = m.maxi(maximum, temp[q - 2]);

    }   

    z = z + 1;

    k = k + 1;  

   if (k == n)      break;    

}   

 if (n == 1)     break;

   else if (n==2) { 

        maximum = m.maxi(arr[1], arr[2]);     

        break;    }  

  }   System.out.println(maximum);

 }

}

어느부분이 잘못된 것일까요??

jh05013   6년 전

3

1 -2 3

jh05013   6년 전

그리고 질문에 문제 번호를 넣는 칸이 있고, 소스코드를 넣는 칸도 있습니다.

tjdwlsdlaek   6년 전

넵 옮겼습니다

댓글을 작성하려면 로그인해야 합니다.