| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1 초 | 1024 MB | 29 | 13 | 8 | 88.889% |
1ドル$이상 $N$이하인 서로 다른 $N$개의 수가 원형으로 나열되어 있다. 구체적으로, 시계방향으로 $i$번째 칸에는 $A_i$가 적혀있으며 1ドル\leq i \leq N-1$인 모든 $i$에 대해 $i$번째 칸과 $i+1$번째 칸이 인접하고 $N$번째 칸과 1ドル$번째 칸이 인접해있다. 당신은 다음과 같은 시행을 원하는 만큼 할 수 있다.
길이가 $M$인 수열 $B$에 대해 수들을 시계방향으로 봤을 때 $B$가 연속 부분수열[1]로 나타나게 하는것이 가능한지 판별해보자.
[1]원형으로 나열된 수열 $A = [A_1, A_2, \cdots, A_N]$에서 어떤 1ドル \leq L, x \leq N$에 대해 $[A_{((L-1) \bmod N)+1}, A_{(L \bmod N)+1}, \cdots, A_{((L+x-2) \bmod N)+1}]$ 형태로 나타나는 부분수열을 $A$의 연속 부분수열이라 한다. 예를 들어, $N=5,ドル $L=4,ドル $x=4$일 때 해당 연속 부분수열은 $[A_4, A_5, A_1, A_2]$가 된다.
첫째 줄에 테스트 케이스의 개수 $T$가 주어진다. $(1\leq T \leq 10,000円)$
각 테스트 케이스의 첫째 줄에 두 정수 $N$과 $M$이 공백으로 구분되어 주어진다. $(3\leq N \leq 300,000円; 2\leq M \leq N)$
각 테스트 케이스의 둘째 줄에 $N$개의 정수 $A_1, A_2, \cdots, A_N$이 공백으로 구분되어 주어진다. $N$개의 수가 모두 다름이 보장된다. $(1\leq A_i \leq N)$
각 테스트 케이스의 셋째 줄에 $M$개의 정수 $B_1, B_2, \cdots, B_M$이 공백으로 구분되어 주어진다. $M$개의 수가 모두 다름이 보장된다. $(1\leq B_i \leq N)$
모든 테스트 케이스에 대해 $N$의 합은 300ドル,000円$을 넘지 않는다.
각 테스트 케이스마다 가능하다면 Yes, 불가능하다면 No를 출력한다.
2 5 3 2 3 1 5 4 5 4 3 3 3 1 2 3 3 2 1
Yes No
위 그림은 첫 번째 테스트 케이스를 나타낸다.
University > 서울시립대학교 > 2025 서울시립대학교 프로그래밍 경진대회 (UOSPC) L번