FESTIVAL 관련 테스트 케이스좀 제시해주시면 감사하겠습니다.

  • akashi789
    akashi789
    #include <stdio.h>
    double GetResult( int* pArr ,int iN, int iSize )
    {
        double result = 999999 ;
        for( int i = iSize ; i <= iN ;  ++i )
        {
            for( int j = 0 ; j <= iN -i; ++j )
            {
                int tmp = 0;
                for( int k = j ; k < j + i ;  ++k )
                {
                    tmp += pArr[k];
                }
                double tmpresult =(double)(tmp / i ) ;
    
                if( result > tmpresult )
                    result = tmpresult;
            }
    
        }
    
        return result;
    }
    
    int main(void)
    {
        int iCnt ;
        scanf("%d",&iCnt);
    
        int arr[1000] = { };
        for( int i = 0; i < iCnt; ++i )
        {
            int iN;scanf("%d",&iN);
    
            int iSize ; scanf("%d",&iSize);
    
            for( int j = 0; j < iN ; ++j)
                scanf("%d",&arr[j]);
    
            printf("%lf\n" ,GetResult(arr,iN,iSize));
        }
    
        return 0;
    
    }
    

    대략적인 코드인데 계속 오류가 나서..
    테스트 케이스를 해보면서 하고싶습니다..
    float 형 문제라는 댓글을 보고, double로 바꿔서 해봤는데도 잘 되지 않네요...


    5년 전
4개의 댓글이 있습니다.
  • Being
    Being

    result의 초기값이 너무 작습니다.


    5년 전 link
  • akashi789
    akashi789

    result 초기값을 INT_MAX 값을 넣어도 똑같이 오답이 뜨네요 ㅠㅠ


    5년 전 link
  • Being
    Being

    나눗셈 하신 곳에 문제가 있습니다. 예제 데이터도 나오지 않았을 것 같은데요?


    5년 전 link
  • wookayin
    wookayin

    문제의 출력형식도 다시한번 잘 읽어보세요~


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