Submission #67130288


Source Code Expand

Copy
from collections import deque
T=int(input())
for _ in range(T):
N=int(input())
S=[0]+list(map(int, input().split()))
INF=10**18
dist=[INF]*(N+1)
dist[1]=1
rem=sorted((S[i],i) for i in range(2,N+1))
p=0
q=deque([1])
while q:
i=q.popleft()
lim=2*S[i]
while p<len(rem) and rem[p][0]<=lim:
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
from collections import deque
T=int(input())
for _ in range(T):
    N=int(input())
    S=[0]+list(map(int, input().split()))


    INF=10**18
    dist=[INF]*(N+1)
    dist[1]=1


    rem=sorted((S[i],i) for i in range(2,N+1))
    p=0

    q=deque([1])
    while q:
        i=q.popleft()
        lim=2*S[i]

        while p<len(rem) and rem[p][0]<=lim:
            sj, j=rem[p]
            dist[j]=dist[i]+1
            q.append(j)
            p+=1
            if j==N:
                q.clear()
                break
        if dist[N]!=INF:
            break

    if dist[N]==INF:
        print(-1)
    else:
        print(dist[N])

Submission Info

Submission Time
Task C - Giant Domino
User kotafuku
Language Python (PyPy 3.10-v7.3.12)
Score 300
Code Size 668 Byte
Status AC
Exec Time 409 ms
Memory 139008 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 300 / 300
Status
AC × 1
AC × 32
Set Name Test Cases
Sample 00_sample_00.txt
All 00_sample_00.txt, 01_small_00.txt, 01_small_01.txt, 01_small_02.txt, 01_small_03.txt, 01_small_04.txt, 01_small_05.txt, 01_small_06.txt, 01_small_07.txt, 01_small_08.txt, 02_random_00.txt, 02_random_01.txt, 02_random_02.txt, 02_random_03.txt, 02_random_04.txt, 02_random_05.txt, 02_random_06.txt, 02_random_07.txt, 02_random_08.txt, 02_random_09.txt, 02_random_10.txt, 02_random_11.txt, 02_random_12.txt, 02_random_13.txt, 02_random_14.txt, 02_random_15.txt, 02_random_16.txt, 02_random_17.txt, 02_random_18.txt, 02_random_19.txt, 03_corner_00.txt, 03_corner_01.txt
Case Name Status Exec Time Memory
00_sample_00.txt AC 73 ms 77068 KiB
01_small_00.txt AC 291 ms 86184 KiB
01_small_01.txt AC 289 ms 86704 KiB
01_small_02.txt AC 302 ms 87100 KiB
01_small_03.txt AC 345 ms 85956 KiB
01_small_04.txt AC 306 ms 86328 KiB
01_small_05.txt AC 298 ms 85736 KiB
01_small_06.txt AC 329 ms 88448 KiB
01_small_07.txt AC 279 ms 87380 KiB
01_small_08.txt AC 226 ms 84768 KiB
02_random_00.txt AC 229 ms 104188 KiB
02_random_01.txt AC 401 ms 139008 KiB
02_random_02.txt AC 409 ms 138732 KiB
02_random_03.txt AC 315 ms 117916 KiB
02_random_04.txt AC 406 ms 138832 KiB
02_random_05.txt AC 392 ms 130140 KiB
02_random_06.txt AC 403 ms 130844 KiB
02_random_07.txt AC 408 ms 130920 KiB
02_random_08.txt AC 360 ms 122560 KiB
02_random_09.txt AC 393 ms 131020 KiB
02_random_10.txt AC 391 ms 130532 KiB
02_random_11.txt AC 322 ms 116580 KiB
02_random_12.txt AC 401 ms 131100 KiB
02_random_13.txt AC 401 ms 130932 KiB
02_random_14.txt AC 355 ms 122808 KiB
02_random_15.txt AC 398 ms 130724 KiB
02_random_16.txt AC 401 ms 130928 KiB
02_random_17.txt AC 364 ms 123084 KiB
02_random_18.txt AC 409 ms 130732 KiB
02_random_19.txt AC 391 ms 130848 KiB
03_corner_00.txt AC 72 ms 76924 KiB
03_corner_01.txt AC 71 ms 76768 KiB


2025-06-30 (Mon)
12:09:05 +09:00