FESTIVAL 오답 질문입니다(Java로 작성). 도와주세요 ㅜ

  • ison5059
    ison5059

    안녕하세요
    FESTIVAL 문제를 푸는데 도저히 오답의 원인을 모르겠네요.....

    도와주세요 ㅜㅜ 오답이 되는 경우가 어떤 것이 있을까요....

    //FESTIVAL

    import java.util.Scanner;
    import java.util.StringTokenizer;

    public class Main {

    public static void main(String[] args) {
    
        Scanner scan = new Scanner(System.in);
    
        int n = Integer.parseInt(scan.nextLine());
        double[] result = new double[n];
    
        for (int i = 0; i < n; i++) {
            StringTokenizer st = new StringTokenizer(scan.nextLine(), " ");
            int cnt = Integer.parseInt(st.nextToken());
            int day = Integer.parseInt(st.nextToken());
            int[] days = new int[cnt];
    
            for(int j = 0; j < cnt; j++){
                days[j] = scan.nextInt();
            }
    
            double sum = 999999;
            int day_cnt = 0;
    
            for(int j = 0; j < cnt-day+1; j++){
                double tmp = CheckSum(days, j, j+day);
                if(tmp/day <= sum){
                    sum = tmp/day;
                    for(int k = j + day; k <= cnt; k++){
                        tmp = CheckSum(days, j, k);
                        if(tmp/(k-j) <= sum){
                            sum = tmp/(k-j);
                        }
                    }
                }
            }
    
            result[i] = sum;
    
            scan.nextLine();
        }
    
        for(double res : result){
            System.out.format("%.10f\n", res);
        }
        scan.close();
    }
    
    public static double CheckSum(int[] days, int start, int end){
        double sum = 0;
        for(int i = start; i < end; i++){
            sum += days[i];
        }
        return sum;
    }

    }


    8년 전
0개의 댓글이 있습니다.
  • 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.