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

  • User Avatar
    silvester

    [[problem:CANADATRIP]]

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

    소스코드


    ~~~ python
    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
    """
    ~~~


    13년 전
2개의 댓글이 있습니다.
  • User Avatar
    JongMan

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


    13년 전 link
  • User Avatar
    silvester

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


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