FESTIVAL 문제를 풀었는데 오답이 나오네요.

  • sypark9
    sypark9

    문제 정의에 있는 한가지 test case는 같은 답이 나오는데,
    실제 채점은 다른 test case로도 하기때문 일까요?

    #include <stdio.h>
    
    int main(void)
    {
        int cases;
        int n; // # of days
        int l; // # of team
        int cost[1000];
    
        int i,j,k;
        double avg= 0.0, minAvg =1000.0;
    
        scanf("%d", &cases);
        while(cases--) {
            scanf("%d %d",&n, &l);
            for(i=0; i < n; i++) {
                scanf("%d",&cost[i]);
            }
    
            // algorithm
    
            for( i=l; i<=n; i++)
                for(j=0; j+i <=n;j++ ) {
    
                    int count = i;
                    int k = j;
                    while(count--) {
                        avg += cost[k];
                        k++;
                        //printf("k=%d cost=%d,",k, cost[k]);
                    }
    
                    avg = avg/(double)i;
                    //printf("avg= %f\n",avg);
                    if( minAvg > avg )
                        minAvg =avg;
                    avg = 0.0;
                }
            printf("%.11f\n", minAvg);
    
            // test
            /*
            printf("%d %d\n", n, l);
            for(i=0;i <n; i++) {
                printf("%d",cost[i]);
            }
            */
        }
        return 0;
    }

    10년 전
3개의 댓글이 있습니다.
  • JongMan
    JongMan

    네, 물론 다른 테스트 케이스로도 합니다. 코드에 알고리즘은 틀리신 점이 없습니다만 다른 틀린 점이 있습니다. 테스트 케이스가 여러 개 들어 있는 입력을 만들어서 넣어 보시면 눈치채실 겁니다.


    10년 전 link
  • sypark9
    sypark9

    찾아냈습니다.^^
    힌트 감사드립니다.


    10년 전 link
  • GaKaRi
    GaKaRi

    저도 이 힌트 보고 알아냈습니다


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