結果
問題 | No.1885 Flat Permutation |
ユーザー |
|
提出日時 | 2022-03-25 22:27:48 |
言語 | PyPy3 (7.3.15) |
結果 |
TLE
|
実行時間 | - |
コード長 | 1,640 bytes |
コンパイル時間 | 311 ms |
コンパイル使用メモリ | 82,200 KB |
実行使用メモリ | 83,584 KB |
最終ジャッジ日時 | 2024-10-14 06:24:13 |
合計ジャッジ時間 | 5,149 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 15 TLE * 1 -- * 27 |
ソースコード
# import sys# input = sys.stdin.readline# import pypyjit# pypyjit.set_param('max_unroll_recursion=-1')def mp():return map(int,input().split())def lmp():return list(map(int,input().split()))def mps(A):return [tuple(map(int, input().split())) for _ in range(A)]def stoi(LIST):return list(map(int,LIST))def itos(LIST):return list(map(str,LIST))def bitA(X,A):return X & 1<<A == 1<<Aimport mathimport bisectimport heapqimport timefrom copy import copy as ccfrom copy import deepcopy as dcfrom itertools import accumulate, productfrom collections import Counter, defaultdict, dequedef ceil(U,V):return (U+V-1)//Vdef modf1(N,MOD):return (N-1)%MOD+1inf = int(1e18+20)mod = 998244353def combination(n, r, mod):np1, r = n+1, min(r, n-r)numer = denom = 1for i in range(1, r+1):numer = numer * (np1-i) % moddenom = denom * i % modreturn numer * pow(denom, mod-2, mod) % modn,x,y = mp()if x > y:x,y = y,xif x != 1 and y != n:if y-x == 1:print(0)else:step = y - 1 - (x+1)jump = 0ans = 0while step >= 0:ans += combination(step + jump, jump, mod)ans %= modstep -= 3jump += 1print(ans % mod)elif x == 1:step = y-1jump = 0ans = 0while step >= 0:ans += combination(step+jump,jump,mod)ans %= modstep -= 3jump += 1print(ans%mod)else:step = n-xjump = 0ans = 0while step >= 0:ans += combination(step+jump,jump,mod)ans %= modstep -= 3jump += 1print(ans%mod)