結果
問題 | No.177 制作進行の宮森あおいです! |
ユーザー | sasa8uyauya |
提出日時 | 2024-11-16 15:19:17 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 283 ms / 2,000 ms |
コード長 | 971 bytes |
コンパイル時間 | 528 ms |
コンパイル使用メモリ | 82,304 KB |
実行使用メモリ | 77,440 KB |
最終ジャッジ日時 | 2024-11-16 15:19:21 |
合計ジャッジ時間 | 3,095 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
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,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],c1[i]] e[i][S]=[c1[i],0] for i in range(m): e[n+i][T]=[c2[i],c2[i]] e[T][n+i]=[c2[i],0] 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,X] e[n+i][j]=[X,0] 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]][1] for i in range(len(q)-1)) w+=c for i in range(len(q)-1): e[q[i]][q[i+1]][1]-=c e[q[i+1]][q[i]][1]+=c break while g[s]<n+m+2: t=g[s] if v[t]==0 and e[s][t][1]>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])