結果
| 問題 | No.3756 Udon Network |
| ユーザー |
tsunamayo123
|
| 提出日時 | 2026-09-11 19:42:47 |
| 言語 | Python3 (3.14.7 + numpy 2.5.2 + scipy 1.18.0 + ACL) |
| 結果 |
TLE
不安定
|
| 実行時間 | - |
| コード長 | 1,008 bytes |
| 記録 | |
| コンパイル時間 | 55 ms |
| コンパイル使用メモリ | 15,104 KB |
| 実行使用メモリ | 11,648 KB |
| 最終ジャッジ日時 | 2026-10-09 17:39:17 |
| 合計ジャッジ時間 | 7,010 ms |
|
ジャッジサーバーID (参考情報) |
judge2_0 / judge5_0 |
(要ログイン)
| サブタスク | 配点 | 結果 |
|---|---|---|
| Example | 0 % | AC * 8 |
| Subtask $1$ | 2 % | AC * 15 |
| Subtask $2$ | 4 % | AC * 15 TLE * 1 -- * 6 |
| Subtask $3$ | 8 % | AC * 3 -- * 6 |
| Subtask $4$ | 16 % | AC * 2 -- * 8 |
| Subtask $5$ | 32 % | AC * 3 -- * 7 |
| Subtask $6$ | 38 % | AC * 15 TLE * 1 -- * 37 |
| 合計 | 4 * 2% = 8 点 |
ソースコード
# 部分点2
import queue
N,M,Q = map(int, input().split())
A = list(map(int, input().split()))
A = [x-1 for x in A]
G = [[] for _ in range(N)]
for i in range(M):
u,v,w = map(int, input().split())
G[u-1].append((v-1,w))
G[v-1].append((u-1,w))
for i in range(Q):
s,c = map(int, input().split())
s-=1
ok=10**9+1
ng=-1
while(ok-ng>1):
D = (ok+ng)//2
visited = [0]*N
flag = [0]*N
visited[s]=True
flag[A[s]]=True
que = queue.Queue()
que.put(s)
while(que.empty()==False):
m=que.get()
for nex,w in G[m]:
if ((w<=D) and visited[nex]==False):
visited[nex]=True
flag[A[nex]]=True
que.put(nex)
t=0
for l in range(N):
if flag[l]:
t+=1
if t>=c:
ok=D
else:
ng=D
if ok == 10**9+1:
print(-1)
else:
print(ok)
tsunamayo123