結果

問題 No.2834 Work to Play
ユーザー ねしんねしん
提出日時 2024-06-18 15:21:34
言語 PyPy3
(7.3.15)
結果
WA  
実行時間 -
コード長 562 bytes
コンパイル時間 236 ms
コンパイル使用メモリ 82,104 KB
実行使用メモリ 787,868 KB
最終ジャッジ日時 2024-06-18 16:03:03
合計ジャッジ時間 12,694 ms
ジャッジサーバーID
(参考情報)
judge2 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 26 WA * 19 MLE * 1 -- * 40
権限があれば一括ダウンロードができます

ソースコード

diff #

from collections import defaultdict
N,A,K=list(map(int,input().split()))
C=defaultdict(int)

def C_Num(N,A):
	for i in range(1,N+1):
		C[i]=A*i

C_Num(N,A)
ans=0
MOD=998244353

def Remove1(K):
	cnt=0
	for i in range(1,N+1):
		M=C[i]//K
		cnt=(cnt+M*i)%MOD
		C[i]=C[i]%K
	return cnt

ans=Remove1(K)

def Remove2(K):
	cnt=0
	now=0
	ok=0
	for i in range(N,0,-1):
		if ok==0 and C[i]!=0:
			cnt+=i
			ok=1
			now=C[i]
		elif ok==1:
			now+=C[i]
			if now==K:
				now=0
				ok=0
			if now>K:
				now-=K
				cnt+=i
	return cnt%MOD
ans=(ans+Remove2(K))%MOD
print(ans*2)
0