結果
問題 |
No.1477 Lamps on Graph
|
ユーザー |
![]() |
提出日時 | 2021-05-12 20:23:22 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 983 ms / 2,000 ms |
コード長 | 771 bytes |
コンパイル時間 | 292 ms |
コンパイル使用メモリ | 12,800 KB |
実行使用メモリ | 70,796 KB |
最終ジャッジ日時 | 2024-09-23 07:37:38 |
合計ジャッジ時間 | 18,742 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 38 |
ソースコード
import collections N, M = map(int, input().split()) A = list(map(lambda x: int(x) - 1, input().split())) G = collections.defaultdict(set) for _ in range(M): v0, v1 = map(lambda x: int(x) - 1, input().split()) # 計算量の削減 if A[v0] < A[v1]: G[v0].add(v1) else: G[v1].add(v0) K = int(input()) B = set(map(lambda x: int(x) - 1, input().split())) onoff = [int(gi in B) for gi in range(N)] greedy = [(A[ai], ai) for ai in range(N)] greedy.sort() ans = [] for a, gi in greedy: if onoff[gi] != 1: continue onoff[gi] = 0 ans.append(gi) for ri in G[gi]: if A[ri] > a: onoff[ri] ^= 1 if sum(onoff) > 0: print(-1) else: print(len(ans)) print(*map(lambda x: x + 1, ans), sep='\n')