結果
問題 | No.2199 lower_bound and upper_bound |
ユーザー |
|
提出日時 | 2023-01-20 23:41:19 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 79 ms / 2,000 ms |
コード長 | 1,035 bytes |
コンパイル時間 | 176 ms |
コンパイル使用メモリ | 82,528 KB |
実行使用メモリ | 85,768 KB |
最終ジャッジ日時 | 2024-06-23 11:38:53 |
合計ジャッジ時間 | 2,727 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 22 |
ソースコード
import sysinput = lambda :sys.stdin.readline()[:-1]ni = lambda :int(input())na = lambda :list(map(int,input().split()))yes = lambda :print("yes");Yes = lambda :print("Yes");YES = lambda : print("YES")no = lambda :print("no");No = lambda :print("No");NO = lambda : print("NO")#######################################################################n,l,r = na()mod = 998244353nn = 1000000fact = [1] * nnfor i in range(nn - 1):fact[i + 1] = fact[i] * (i + 1) % modinvfact = [1] * nninvfact[nn - 1] = pow(fact[nn - 1], mod - 2, mod)for i in range(nn - 1)[::-1]:invfact[i] = invfact[i + 1] * (i + 1) % moddef binom(x, y):if x < 0 or y < 0 or x - y < 0:return 0return fact[x] * invfact[y] % mod * invfact[x - y] % modans = 0for i in range(r-l+1):tx,ty = n, r-i+nsx,sy = 1, 0ssx, ssy = -r-1, r+2#print(tx-sx,ty-sy,tx-ssx, ty-ssy,binom(ty-sy+tx-sx,tx-sx),binom(ty-ssy+tx-ssx,tx-ssx))ans += binom(ty-sy+tx-sx,tx-sx)-binom(ty-ssy+tx-ssx,tx-ssx)ans %= modprint(ans)