====== N거리 건너기 ====== ===== 풀이 ===== * 풀이는 [[https://github.com/ssu-sccc/2025scon/blob/main/editorial-slide.pdf|에디토리얼]] 참고 * 시간복잡도는 O(n) ===== 코드 ===== """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() {{tag>BOJ ps:problems:boj:실버_2}}