FESTIVAL 문제 질문입니다.

  • aros
    aros

    FESTIVAL 문제를 풀고 있는데, 계속 오답 처리가 됩니다.
    오답이 나오는 테스트케이스를 찾기 어려워 고민 중입니다ㅠㅠ
    도움 주시면 감사하겠습니다!!

    아래는 제가 작성한 코드입니다.

    #include <stdio.h>
    
    int main(void) {
        int c, n, l, cost[1001];
        int sum;
        int i, j, divisor;
        double min = 100; // 하루 비용이 최대 100이므로 min=100으로 설정했습니다.
    
        scanf("%d", &c);
        while (c--) {
            scanf("%d%d", &n, &l);
    
            for (i = 0;i < n;i++) {
                scanf("%d", &cost[i]);
            }
    
            for (i = 0;i < n - l + 1;i++) {
                sum = 0;
    
                // 연속된 l일동안 비용을 누적합니다.
                for (j = i;j < i + l;j++) {
                    sum += cost[j];
                }
    
                // 연속된 l일 이후 비용을 누적합니다.
                divisor = l;
                for (;j < n;j++) {
                    // 하루 비용이 현재까지 평균 값보다 같거나 적을 때에만 계속 진행합니다.
                    if ((double)cost[j] <= (double)sum / (double)divisor) {
                        sum += cost[j];
                        divisor++;
                    }
                    else break;
                }
    
                // 최소값을 저장합니다.
                if ((double)sum / (double)divisor < min) min = (double)sum / (double)divisor;
            }
            printf("%.15f\n", min);
        }
        return 0;
    }
    

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