結果

問題 No.1233 割り切れない気持ち
ユーザー rlangevin
提出日時 2023-10-30 12:15:39
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 171 ms / 3,153 ms
コード長 442 bytes
コンパイル時間 353 ms
コンパイル使用メモリ 82,308 KB
実行使用メモリ 111,752 KB
最終ジャッジ日時 2024-09-25 17:12:57
合計ジャッジ時間 5,783 ms
ジャッジサーバーID
(参考情報)
judge4 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 39
権限があれば一括ダウンロードができます

ソースコード

diff #
プレゼンテーションモードにする

N = int(input())
A = list(map(int, input().split()))
M = max(A)
D = [0] * (M + 1)
for a in A:
D[a] += 1
Dc = [0] * (M + 2)
for i in range(M + 1):
Dc[i + 1] = Dc[i] + D[i]
ans = N * sum(A)
memo = [-1] * (M + 1)
for a in A:
if memo[a] != -1:
ans -= memo[a]
continue
v = 0
for i in range(a, M + 1, a):
v += (Dc[min(i + a, M + 1)] - Dc[i]) * (i // a)
ans -= a * v
memo[a] = a * v
print(ans)
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0