ABC220 C - Long Sequence를 풀었다






일단, 이하로 다녔다.

LongSequence.py
from sys import exit
N = int(input())
A = list(map(int,input().split()))
X = int(input())

B = sum(A)
base = X//B
rest = X%B

if rest == 0:
    print(base*N+1)#<= ココ1
    exit()
else:
    cnt = 0
    ans = 0
    for i in range(N):
        cnt += A[i]
        if cnt > rest:#<=ココ2
            ans = i+1
            break

print(base*N+ans)

문제문에는 넘는 것은 무엇 항목? 계속 듣고 있다.
처음에는 코코1과 코코2를 놓치고 있었고, 다음과 같은 기술로 WA였다.

LongSequence.py
from sys import exit
N = int(input())
A = list(map(int,input().split()))
X = int(input())

B = sum(A)
base = X//B
rest = X%B

if rest == 0:
    print(base*N)#<= ココ1
    exit()
else:
    cnt = 0
    ans = 0
    for i in range(N):
        cnt += A[i]
        if cnt >= rest:#<=ココ2
            ans = i+1
            break

print(base*N+ans)

샤킷과 한발로 통할 수 있게 되고 싶다. .

좋은 웹페이지 즐겨찾기