結果

問題 No.794 チーム戦 (2)
ユーザー 草苺奶昔
提出日時 2024-09-09 00:15:11
言語 Python3
(3.13.1 + numpy 2.2.1 + scipy 1.14.1)
結果
AC  
実行時間 313 ms / 1,500 ms
コード長 630 bytes
コンパイル時間 456 ms
コンパイル使用メモリ 12,544 KB
実行使用メモリ 32,644 KB
最終ジャッジ日時 2024-09-09 00:15:19
合計ジャッジ時間 7,400 ms
ジャッジサーバーID
(参考情報)
judge2 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 32
権限があれば一括ダウンロードができます

ソースコード

diff #

# No.794 チーム戦 (2)
# 给定长为偶数n的数组nums,求和不超过k的二元对数的分配方案数。
# https://yukicoder.me/problems/no/794
#

from bisect import bisect_right
import sys


input = lambda: sys.stdin.readline().rstrip("\r\n")
MOD = int(1e9 + 7)


def min2(a: int, b: int) -> int:
    return a if a < b else b


if __name__ == "__main__":
    n, k = map(int, input().split())
    nums = list(map(int, input().split()))

    nums.sort()
    res = 1
    for i in range(n // 2):
        pos = bisect_right(nums, k - nums[-i - 1])
        res *= min2(n - i - 1, pos) - i
        res %= MOD

    print(res)
0