結果
| 問題 |
No.1294 マウンテン数列
|
| コンテスト | |
| ユーザー |
Kiri8128
|
| 提出日時 | 2020-11-21 01:04:25 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 330 ms / 2,000 ms |
| コード長 | 708 bytes |
| コンパイル時間 | 291 ms |
| コンパイル使用メモリ | 82,428 KB |
| 実行使用メモリ | 81,188 KB |
| 最終ジャッジ日時 | 2024-07-23 14:13:59 |
| 合計ジャッジ時間 | 3,777 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 17 |
ソースコード
N = int(input())
A = sorted([int(a) for a in input().split()])
def calc(A):
n = len(A)
A = A[::-1]
M = max(a - b for a, b in zip(A, A[1:]))
ans = 0
prev = 0
for k in range(M, A[0] - A[-1] + 1):
X = [0]
S = [0]
j = 0
for i, a in enumerate(A):
if i == 0:
continue
if i == 1:
X.append(1)
S.append(1)
continue
while A[j] > a + k:
j += 1
X.append((S[-1] - S[j]) % P)
S.append((S[-1] + X[-1]) % P)
ans = (ans + (S[-1] - prev) * k) % P
prev = S[-1]
return ans * 2 % P
P = 998244353
print(calc(A))
Kiri8128