RTE(nonzero return code) 에러..

  • airyym
    airyym

    안녕하세요~
    파이썬으로 문제 풀려고 계속 제출하는데
    RTE 에러가 나네요..
    아무래도 제가 입력 방식을 잘못 한 거 같은데
    정확한 이유를 몰라서 글 올려봅니다.

    코드는 다음과 같습니다(FESTIVAL 문제입니다.)

    from __future__ import division
    import sys
    
    
    howmany = lambda: sys.stdin.readline()
    r = int(howmany())
    
    for i in range(r):
        result = howmany().strip()
        n = int(result[0])
        l = int(result[2])
    
    
        cost = map(int,howmany().strip().split(" "))
        maxmin = -1
    
        for x in range(l,n+1):
            for i in range(n):
                if i+x < n+1:
                    avr = sum(cost[i:i+x]) / x
                    if maxmin == -1:
                        maxmin = avr
                    else:
                        if avr < maxmin:
                            maxmin = avr
    
        print maxmin
    

    12년 전
2개의 댓글이 있습니다.
  • hyunhwan
    hyunhwan

    가독성과 편의를 위해서 본문의 글을 좀 고쳤습니다. 양해 부탁합니다.

    지금 확인 결과 다음의 부분이 문제가 있는 것 같습니다.

    for i in range(r):
        result = howmany().strip()
        n = int(result[0])
        l = int(result[2])
    

    위와 같이 입력받은 한 줄을 처리해서 n과 l에 넣을 경우에는 n과 l이 한자리 숫자일 경우만 올바르게 동작합니다. 따라서 n, l이 여러자리라도 제대로 동작하게 하기 위해선 다음과 같이 고쳐보시길 바랍니다.

    for i in range(r):
        result = howmany().strip().split()
        n = int(result[0])
        l = int(result[1])
    

    12년 전 link
  • airyym
    airyym

    답변 감사드립니다~


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