結果
| 問題 |
No.2592 おでぶなおばけさん 2
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2023-12-20 00:32:08 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 658 ms / 2,500 ms |
| コード長 | 1,078 bytes |
| コンパイル時間 | 405 ms |
| コンパイル使用メモリ | 82,228 KB |
| 実行使用メモリ | 117,652 KB |
| 最終ジャッジ日時 | 2024-09-27 09:36:23 |
| 合計ジャッジ時間 | 46,109 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 |
| other | AC * 83 |
ソースコード
import sys
from itertools import permutations
from heapq import heappop,heappush
from collections import deque
import random
import bisect
input = lambda :sys.stdin.readline().rstrip()
mi = lambda :map(int,input().split())
li = lambda :list(mi())
def is_prime(n):
if n == 1:
return False
for d in range(2,n):
if d * d > n:
break
if n % d == 0:
return False
return True
def random_prime(L,R):
while True:
x = random.randint(L,R)
if is_prime(x):
return x
T = 10
RP = [random_prime(10**8,10**9) for _ in range(T)]
N,Q,K = mi()
A = li()
cum = [[0]*(N+1) for t in range(T)]
for t in range(T):
tmp_pow = 1
mod = RP[t]
for i in range(N):
cum[t][i+1] = cum[t][i] + A[i] * tmp_pow
cum[t][i+1] %= mod
tmp_pow = tmp_pow * K % mod
for _ in range(Q):
l,r = mi()
l,r = l-1,r
flg = 0
for t in range(T):
check = (cum[t][r] - cum[t][l]) % RP[t]
if check != 0:
flg = 1
print("Yes" if flg else "No")