사용자 도구

사이트 도구


ps:problems:boj:33912

N거리 건너기

ps
링크acmicpc.net/…
출처BOJ
문제 번호33912
문제명N거리 건너기
레벨실버 2
분류

애드혹

시간복잡도O(n)
인풋사이즈n<=100000
사용한 언어Python 3.13
제출기록42660KB / 92ms
최고기록84ms
해결날짜2025/05/23

풀이

코드

"""Solution code for "BOJ 33912. N거리 건너기".

- Problem link: https://www.acmicpc.net/problem/33912
- Solution link: http://www.teferi.net/ps/problems/boj/33912

Tags: [ad hoc]
"""

import itertools


def main():
    N, M = [int(x) for x in input().split()]
    M -= 1
    A = [int(x) - 1 for x in input().split()]

    orders = [0] * N
    for i, a_i in enumerate(A):
        orders[a_i] = i

    cw_time = orders[0] + sum(
        (cur - prev) % N for prev, cur in itertools.pairwise(orders[:M])
    )
    ccw_time = orders[-1] + sum(
        (cur - prev) % N
        for prev, cur in itertools.pairwise(orders[: M - 1 : -1])
    )
    print('CW' if cw_time < ccw_time else 'CCW')


if __name__ == '__main__':
    main()

토론

댓글을 입력하세요:
 
ps/problems/boj/33912.txt · 마지막으로 수정됨: 2025/05/23 14:39 저자 teferi