結果
問題 |
No.1782 ManyCoins
|
ユーザー |
|
提出日時 | 2021-12-11 23:12:01 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 1,621 ms / 2,000 ms |
コード長 | 725 bytes |
コンパイル時間 | 335 ms |
コンパイル使用メモリ | 82,340 KB |
実行使用メモリ | 114,904 KB |
最終ジャッジ日時 | 2024-07-20 06:31:04 |
合計ジャッジ時間 | 14,890 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 48 |
ソースコード
import sys,random from collections import deque from heapq import heappush,heappop input = lambda :sys.stdin.readline().rstrip() mi = lambda :map(int,input().split()) li = lambda :list(mi()) N,L = mi() W = li() M = max(W) dist = [L+1 for i in range(M)] dist[0] = 0 deq = deque([0]) while deq: r = deq.popleft() for i in range(N): c = dist[r]+((r+W[i])//M) nr = (r+W[i])%M if dist[nr] > c: dist[nr] = c if c==dist[r]: deq.appendleft(nr) else: assert c==dist[r]+1 deq.append(nr) D = [i+dist[i]*M for i in range(M)] res = 0 for r in range(M): if D[r] <= L: res += (L-D[r])//M + 1 print(res-1)