結果
問題 | No.1885 Flat Permutation |
ユーザー | U S |
提出日時 | 2022-03-25 22:27:48 |
言語 | PyPy3 (7.3.15) |
結果 |
TLE
|
実行時間 | - |
コード長 | 1,640 bytes |
コンパイル時間 | 294 ms |
コンパイル使用メモリ | 82,168 KB |
実行使用メモリ | 84,156 KB |
最終ジャッジ日時 | 2024-04-22 07:11:14 |
合計ジャッジ時間 | 5,575 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 51 ms
61,492 KB |
testcase_01 | AC | 51 ms
62,912 KB |
testcase_02 | AC | 51 ms
61,452 KB |
testcase_03 | AC | 103 ms
68,376 KB |
testcase_04 | AC | 52 ms
62,936 KB |
testcase_05 | AC | 50 ms
61,720 KB |
testcase_06 | AC | 51 ms
61,332 KB |
testcase_07 | AC | 52 ms
62,012 KB |
testcase_08 | AC | 50 ms
62,044 KB |
testcase_09 | AC | 50 ms
61,908 KB |
testcase_10 | AC | 50 ms
61,760 KB |
testcase_11 | AC | 49 ms
61,232 KB |
testcase_12 | AC | 50 ms
61,648 KB |
testcase_13 | AC | 50 ms
61,788 KB |
testcase_14 | AC | 51 ms
62,532 KB |
testcase_15 | AC | 50 ms
61,648 KB |
testcase_16 | AC | 50 ms
61,856 KB |
testcase_17 | AC | 50 ms
62,068 KB |
testcase_18 | AC | 51 ms
61,544 KB |
testcase_19 | TLE | - |
testcase_20 | -- | - |
testcase_21 | -- | - |
testcase_22 | -- | - |
testcase_23 | -- | - |
testcase_24 | -- | - |
testcase_25 | -- | - |
testcase_26 | -- | - |
testcase_27 | -- | - |
testcase_28 | -- | - |
testcase_29 | -- | - |
testcase_30 | -- | - |
testcase_31 | -- | - |
testcase_32 | -- | - |
testcase_33 | -- | - |
testcase_34 | -- | - |
testcase_35 | -- | - |
testcase_36 | -- | - |
testcase_37 | -- | - |
testcase_38 | -- | - |
testcase_39 | -- | - |
testcase_40 | -- | - |
testcase_41 | -- | - |
testcase_42 | -- | - |
testcase_43 | -- | - |
testcase_44 | -- | - |
testcase_45 | -- | - |
testcase_46 | -- | - |
ソースコード
# 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<<A import math import bisect import heapq import time from copy import copy as cc from copy import deepcopy as dc from itertools import accumulate, product from collections import Counter, defaultdict, deque def ceil(U,V):return (U+V-1)//V def modf1(N,MOD):return (N-1)%MOD+1 inf = int(1e18+20) mod = 998244353 def combination(n, r, mod): np1, r = n+1, min(r, n-r) numer = denom = 1 for i in range(1, r+1): numer = numer * (np1-i) % mod denom = denom * i % mod return numer * pow(denom, mod-2, mod) % mod n,x,y = mp() if x > y:x,y = y,x if x != 1 and y != n: if y-x == 1: print(0) else: step = y - 1 - (x+1) jump = 0 ans = 0 while step >= 0: ans += combination(step + jump, jump, mod) ans %= mod step -= 3 jump += 1 print(ans % mod) elif x == 1: step = y-1 jump = 0 ans = 0 while step >= 0: ans += combination(step+jump,jump,mod) ans %= mod step -= 3 jump += 1 print(ans%mod) else: step = n-x jump = 0 ans = 0 while step >= 0: ans += combination(step+jump,jump,mod) ans %= mod step -= 3 jump += 1 print(ans%mod)