結果
問題 | No.2422 regisys? |
ユーザー | FromBooska |
提出日時 | 2023-08-19 16:51:11 |
言語 | Python3 (3.12.2 + numpy 1.26.4 + scipy 1.12.0) |
結果 |
MLE
|
実行時間 | - |
コード長 | 2,219 bytes |
コンパイル時間 | 498 ms |
コンパイル使用メモリ | 12,672 KB |
実行使用メモリ | 818,004 KB |
最終ジャッジ日時 | 2024-11-29 10:54:37 |
合計ジャッジ時間 | 57,379 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 30 ms
11,008 KB |
testcase_01 | AC | 34 ms
11,008 KB |
testcase_02 | AC | 36 ms
11,392 KB |
testcase_03 | AC | 36 ms
10,880 KB |
testcase_04 | AC | 34 ms
11,136 KB |
testcase_05 | AC | 60 ms
12,032 KB |
testcase_06 | AC | 78 ms
12,672 KB |
testcase_07 | AC | 39 ms
11,264 KB |
testcase_08 | AC | 55 ms
12,032 KB |
testcase_09 | AC | 34 ms
11,008 KB |
testcase_10 | AC | 33 ms
11,008 KB |
testcase_11 | AC | 40 ms
11,136 KB |
testcase_12 | AC | 30 ms
10,752 KB |
testcase_13 | AC | 55 ms
12,032 KB |
testcase_14 | AC | 30 ms
10,880 KB |
testcase_15 | AC | 48 ms
11,776 KB |
testcase_16 | AC | 36 ms
11,136 KB |
testcase_17 | AC | 32 ms
10,880 KB |
testcase_18 | AC | 32 ms
11,264 KB |
testcase_19 | AC | 62 ms
12,288 KB |
testcase_20 | AC | 69 ms
12,288 KB |
testcase_21 | AC | 34 ms
11,136 KB |
testcase_22 | AC | 36 ms
11,008 KB |
testcase_23 | AC | 51 ms
12,416 KB |
testcase_24 | AC | 35 ms
11,136 KB |
testcase_25 | AC | 38 ms
11,520 KB |
testcase_26 | AC | 30 ms
10,752 KB |
testcase_27 | AC | 35 ms
11,008 KB |
testcase_28 | AC | 37 ms
11,136 KB |
testcase_29 | AC | 34 ms
11,136 KB |
testcase_30 | AC | 36 ms
11,008 KB |
testcase_31 | MLE | - |
testcase_32 | MLE | - |
testcase_33 | MLE | - |
testcase_34 | MLE | - |
testcase_35 | MLE | - |
testcase_36 | MLE | - |
testcase_37 | MLE | - |
testcase_38 | TLE | - |
testcase_39 | MLE | - |
testcase_40 | MLE | - |
testcase_41 | MLE | - |
testcase_42 | MLE | - |
testcase_43 | MLE | - |
testcase_44 | MLE | - |
testcase_45 | MLE | - |
testcase_46 | MLE | - |
testcase_47 | MLE | - |
testcase_48 | MLE | - |
testcase_49 | MLE | - |
testcase_50 | MLE | - |
testcase_51 | TLE | - |
testcase_52 | MLE | - |
testcase_53 | MLE | - |
testcase_54 | MLE | - |
testcase_55 | MLE | - |
testcase_56 | MLE | - |
testcase_57 | MLE | - |
testcase_58 | MLE | - |
testcase_59 | MLE | - |
testcase_60 | MLE | - |
testcase_61 | AC | 71 ms
10,880 KB |
ソースコード
# マッチング、最大流でできるか、間に合うか # Start, M人M頂点、N商品N頂点、Goal N, M = map(int, input().split()) A = list(map(int, input().split())) B = list(map(int, input().split())) TC = [] for i in range(M): t, c = map(int, input().split()) TC.append((t, c)) Start = 0 Goal = M+N+1 from collections import defaultdict, deque INF = float('inf') edges = defaultdict(set) cost = [[0]*(M+N+2) for i in range(M+N+2)] for i in range(M): t, c = TC[i] for j in range(N): a = A[j] b = B[j] if (t == 0 and a <= c) or (t == 1 and b <= c): edges[i+1].add(j+M+1) cost[i+1][j+M+1] = 1 # from Start to M nodes for i in range(M): edges[Start].add(i+1) cost[Start][i+1] = 1 # from N nodes to Goal for i in range(N): edges[i+M+1].add(Goal) cost[i+M+1][Goal] = 1 ans = 0 def Ford_Fulkerson(s): #sからFord-Fulkerson global edges global cost global ans queue = deque() #BFS用のdeque queue.append([s,INF]) ed = [True]*(M+N+2+1) #到達済み ed[s] = False route = [0 for i in range(M+N+2+1)] #ルート route[s] = -1 #BFS while queue: s,flow = queue.pop() for t in edges[s]: #s->t if ed[t]: flow = min(cost[s][t],flow) #flow = min(直前のflow,line容量) route[t] = s queue.append([t,flow]) ed[t] = False if t == Goal: #ゴール到達 ans += flow break else: continue break else: return False #ラインの更新 t = Goal s = route[t] while s != -1: #s->tのコスト減少,ゼロになるなら辺を削除 cost[s][t] -= flow if cost[s][t] == 0: edges[s].remove(t) #t->s(逆順)のコスト増加,元がゼロなら辺を作成 if cost[t][s] == 0: edges[t].add(s) cost[t][s] += flow t = s s = route[t] return True while True: if Ford_Fulkerson(Start): continue else: break #print(ans) remaining = N-ans print(remaining)