結果
問題 | No.177 制作進行の宮森あおいです! |
ユーザー |
![]() |
提出日時 | 2024-11-16 15:24:59 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 254 ms / 2,000 ms |
コード長 | 871 bytes |
コンパイル時間 | 409 ms |
コンパイル使用メモリ | 82,304 KB |
実行使用メモリ | 76,672 KB |
最終ジャッジ日時 | 2024-11-16 15:25:02 |
合計ジャッジ時間 | 3,075 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 13 |
ソースコード
W=int(input()) n=int(input()) c1=list(map(int,input().split())) m=int(input()) c2=list(map(int,input().split())) S=n+m T=S+1 X=10**10 e=[[0 for j in range(n+m+2)] for i in range(n+m+2)] for i in range(n): e[S][i]=c1[i] for i in range(m): e[n+i][T]=c2[i] for i in range(m): q,*x,=map(int,input().split()) for j in range(n): if j+1 not in x: e[j][n+i]=X w=0 while 1: q=[S] v=[0]*(n+m+2) g=[0]*(n+m+2) f=0 while len(q)>0: s=q[-1] v[s]=1 if s==T: f=1 c=min(e[q[i]][q[i+1]] for i in range(len(q)-1)) w+=c for i in range(len(q)-1): e[q[i]][q[i+1]]-=c e[q[i+1]][q[i]]+=c break while g[s]<n+m+2: t=g[s] if v[t]==0 and e[s][t]>0: break g[s]+=1 if g[s]<n+m+2: q+=[t] else: q.pop() if f==0: break print(["BANSAKUTSUKITA","SHIROBAKO"][w>=W])