Submission #67143716


Source Code Expand

Copy
import collections
def solve_alt():
n = int(input())
s = list(map(int, input().split()))
nds = sorted([(s[i], i) for i in range(n)])
dst = [-1] * n
cur_q = collections.deque([0])
dst[0] = 1
unv_ptr = 0
pth_len = 1
while cur_q:
if dst[n - 1] != -1:
break
max_pwr = 0
for u_idx in cur_q:
max_pwr = max(max_pwr, 2 * s[u_idx])
nxt_q = collections.deque()
while unv_ptr < n and nds[unv_ptr][0] <= max_pwr:
v_siz, v_idx = nds[unv_ptr]
if dst[v_idx] == -1:
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
import collections

def solve_alt():
    n = int(input())
    s = list(map(int, input().split()))
    nds = sorted([(s[i], i) for i in range(n)])
    dst = [-1] * n
    cur_q = collections.deque([0])
    dst[0] = 1
    unv_ptr = 0
    pth_len = 1
    while cur_q:
        if dst[n - 1] != -1:
            break
        max_pwr = 0
        for u_idx in cur_q:
            max_pwr = max(max_pwr, 2 * s[u_idx])
        nxt_q = collections.deque()
        while unv_ptr < n and nds[unv_ptr][0] <= max_pwr:
            v_siz, v_idx = nds[unv_ptr]
            if dst[v_idx] == -1:
                dst[v_idx] = pth_len + 1
                nxt_q.append(v_idx)
            unv_ptr += 1
        cur_q = nxt_q
        pth_len += 1
    print(dst[n - 1])

t = int(input())
for _ in range(t):
    solve_alt()

Submission Info

Submission Time
Task C - Giant Domino
User SqRooti
Language Python (CPython 3.11.4)
Score 300
Code Size 824 Byte
Status AC
Exec Time 527 ms
Memory 40516 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 10 ms 9272 KiB
01_small_00.txt AC 253 ms 9224 KiB
01_small_01.txt AC 252 ms 9240 KiB
01_small_02.txt AC 186 ms 9232 KiB
01_small_03.txt AC 527 ms 9164 KiB
01_small_04.txt AC 380 ms 9316 KiB
01_small_05.txt AC 300 ms 9240 KiB
01_small_06.txt AC 257 ms 9172 KiB
01_small_07.txt AC 165 ms 9232 KiB
01_small_08.txt AC 118 ms 9312 KiB
02_random_00.txt AC 92 ms 24796 KiB
02_random_01.txt AC 181 ms 39924 KiB
02_random_02.txt AC 202 ms 40516 KiB
02_random_03.txt AC 147 ms 30948 KiB
02_random_04.txt AC 208 ms 40460 KiB
02_random_05.txt AC 228 ms 37596 KiB
02_random_06.txt AC 219 ms 38336 KiB
02_random_07.txt AC 234 ms 38364 KiB
02_random_08.txt AC 172 ms 34932 KiB
02_random_09.txt AC 187 ms 38492 KiB
02_random_10.txt AC 184 ms 38560 KiB
02_random_11.txt AC 130 ms 31692 KiB
02_random_12.txt AC 191 ms 38400 KiB
02_random_13.txt AC 210 ms 38376 KiB
02_random_14.txt AC 169 ms 34348 KiB
02_random_15.txt AC 196 ms 38324 KiB
02_random_16.txt AC 231 ms 38424 KiB
02_random_17.txt AC 171 ms 35524 KiB
02_random_18.txt AC 199 ms 38372 KiB
02_random_19.txt AC 176 ms 38476 KiB
03_corner_00.txt AC 11 ms 9268 KiB
03_corner_01.txt AC 11 ms 9324 KiB


2025-08-22 (Fri)
02:53:55 +09:00