結果

問題 No.2713 Just Solitaire
コンテスト
ユーザー LyricalMaestro
提出日時 2026-03-10 01:09:38
言語 Python3
(3.14.3 + numpy 2.4.2 + scipy 1.17.0)
コンパイル:
python3 -mpy_compile _filename_
実行:
python3 _filename_
結果
RE  
実行時間 -
コード長 834 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 455 ms
コンパイル使用メモリ 20,956 KB
実行使用メモリ 20,744 KB
最終ジャッジ日時 2026-03-10 01:09:53
合計ジャッジ時間 9,371 ms
ジャッジサーバーID
(参考情報)
judge1_0 / judge2_1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample RE * 2
other RE * 32
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

## https://yukicoder.me/problems/no/2713

from atcoder.maxflow import MFGraph

MAX_CAPACITY = 10 ** 18

def main():
    N, M = map(int, input().split())
    A = list(map(int, input().split()))
    B = list(map(int, input().split()))
    values = []
    for _ in range(M):
        t = tuple(map(int, input().split()))
        values.append(t)
    
    # 燃やす埋める問題として解く

    mf_graph = MFGraph(2 + N + M)

    for i in range(N):
        mf_graph.add_edge(0, 1 + i, A[i])
    for i in range(M):
        mf_graph.add_edge(1 + N + i, 1 + N + M, B[i])
    
    for from_i in range(M):
        v = values[from_i]
        for to_i in v[1:]:
            mf_graph.add_edge(to_i, 1 + N + from_i, MAX_CAPACITY)
    
    ans = mf_graph.flow(0, 1 + N + M)
    print(sum(B) - ans)






if __name__ == "__main__":
    main()
0