結果
問題 |
No.2592 おでぶなおばけさん 2
|
ユーザー |
👑 |
提出日時 | 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 |
ソースコード
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])