結果

問題 No.2592 おでぶなおばけさん 2
ユーザー 👑 p-adic
提出日時 2023-12-21 00:50:47
言語 PyPy3
(7.3.15)
結果
TLE  
実行時間 -
コード長 665 bytes
コンパイル時間 407 ms
コンパイル使用メモリ 82,324 KB
実行使用メモリ 94,548 KB
最終ジャッジ日時 2024-09-27 10:24:20
合計ジャッジ時間 47,909 ms
ジャッジサーバーID
(参考情報)
judge5 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1
other AC * 37 WA * 4 TLE * 42
権限があれば一括ダウンロードができます

ソースコード

diff #

import random
import sys
B=random.randrange(12,22)
print(B,file=sys.stderr)
R=range
J=lambda:map(int,input().split())
N,Q,K=J()
A=list(J())
while N%B:
	A+=[0]
	N+=1
N//=B
def Add(i,t,F):
	i+=1
	while i<=N:F[i],i=F[i]+t,i+(i&-i)
def InitialSum(r,F):
	a=0
	i=min(r+1,N)
	while i:a,i=a+F[i],i-(i&-i)
	return a
def IntervalSum(l,r,F):
	return InitialSum(r,F)-InitialSum(l-1,F)
bit=[[0]*(N+1)for i in R(B)]
for i in R(B):
	for j in R(N):Add(j,A[j*B+i],bit[i])
for q in R(Q):
	l,r=J()
	k=K
	l,t,p,M=l-1,0,1,pow(k,B)-1
	for i in R(B):
		x,y=l//B,(r-1)//B
		if l>x*B+i:x+=1
		if y*B+i>r-1:y-=1
		t,p=t+(0if x>y else IntervalSum(x,y,bit[i])*p),p*k
	print("YNeos"[t%M==0::2])
0