結果
| 問題 | No.155 生放送とBGM |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2026-01-29 15:06:53 |
| 言語 | PyPy3 (7.3.17) |
| 結果 |
AC
|
| 実行時間 | 313 ms / 6,000 ms |
| コード長 | 1,087 bytes |
| 記録 | |
| コンパイル時間 | 376 ms |
| コンパイル使用メモリ | 82,712 KB |
| 実行使用メモリ | 78,728 KB |
| 最終ジャッジ日時 | 2026-01-29 15:06:57 |
| 合計ジャッジ時間 | 3,870 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 15 |
ソースコード
import sys
from functools import reduce
from typing import List, Tuple
def int1(x: str, /): return int(x) - 1
def input(): return sys.stdin.readline().rstrip('\n')
def dbg(*args, **kwargs):
print(*(repr(arg) for arg in args), *(f'{k}: {repr(v)}' for k, v in kwargs.items()), sep='; ', file=sys.stderr)
def t(s):
return reduce(lambda a, b: 60 * a + b, map(int, s.split(':')), 0)
def main():
n, l = map(int, input().split())
l *= 60
*s, = map(t, input().split())
if sum(s) <= l:
return n
d = [[0] * l for _ in range(n + 1)]
d[0][0] = 1
for i in range(n):
for j in range(n, 0, -1):
for k in range(s[i], l):
d[j][k] += d[j - 1][k - s[i]]
ans = 0
mul = 1
for i in range(n):
ans += sum(d[i]) / mul
mul *= (n - i)
mul //= i + 1
return ans
def _start():
ret = main()
if ret is not None:
if isinstance(ret, List) or isinstance(ret, Tuple):
print(*ret)
else:
print(ret)
if __name__ == '__main__':
_start()