CANADATRIP 문제 풀다가 RTE가 떠서 질문드립니다.

  • silvester
    silvester

    CANADATRIP

    RTE (nonzero return code) 가 뜨는데요, 헬로월드 이후 처음 문제를 푸는건데요. 예제 입력과도 답이 달라서 질문과 답변에 올립니다.

    소스코드

    import sys
    times = int(sys.stdin.readline())
    
    for i in range(times):
        nkLi = sys.stdin.readline().strip().split()
    
        distance = 0
        n = int(nkLi[0])
        k = int(nkLi[1])
    
        for j in range(n):
            limigiLi = sys.stdin.readline().strip().split()
            if not k == 0:
                k = k-1
                li = int(limigiLi[0])
                mi = int(limigiLi[1])
                gi = int(limigiLi[2])
    
                distance = distance + li - mi
                remaintimes = mi / gi
                if k <= remaintimes :
                    distance = distance + gi * k
                    k = 0
                else :
                    distance = distance + mi
                    k = k - remaintimes
    
        print distance
    
    """
    Test Case 1.
    3 15 (n, k)
    500 100 10
    504 16 4
    510 60 6
    <400 410 420 ... 500 (11 times) 988 992 996 1000 (4 times)>
    1000
    
    Test Case 2
    2 1234567
    8030000 8030000 1
    2 2 1
    <0, 1, 2, ... 1234566>
    1234566
    """
    


    11년 전
2개의 댓글이 있습니다.
  • JongMan
    JongMan

    문제를 잘못 이해하신 것이 아닌가 생각됩니다. 첫 번째 예제에서 3개의 마을은 시작 위치부터 500km, 504km, 510km 위치에 있습니다. 각 위치의 100km, 16km, 60km 전부터 표지판이 시작됩니다. 세 번째 마을의 첫 번째 표지판은 따라서 510km - 60km = 450km 부터 시작해 450km, 456km, 462km.. 위치에 있게 됩니다.


    11년 전 link
  • silvester
    silvester

    @JongMan 님께. 감사합니다. :) 잘못 이해하고 있었네요ㅎㅎ


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