Submission #21285598
Source Code Expand
import math
N,X,M = map(int,input().split())
# 二次元配列作成
nex = []
nsum = []
for _ in range(int(math.log2(N)) + 1):
l1 = [0] * M
l2 = [0] * M
nex.append(l1)
nsum.append(l2)
# dv[0][0:X]を初期化
for m in range(M):
nex[0][m] = (m*m)%M
nsum[0][m] = m
# ダブリングで表を構築
for k in range(1, int(math.log2(N)) + 1):
for m in range(M):
nex[k][m] = nex[k - 1][nex[k - 1][m]]
nsum[k][m] = nsum[k - 1][m] + nsum[k - 1][nex[k - 1][m]]
a = []
for i in range(int(math.log2(N)) + 1):
if N>>i & 1:
a.append(i)
ans = 0
for i in a:
ans += nsum[i][X]
X = nex[i][X]
print(ans)
Submission Info
| Submission Time | |
|---|---|
| Task | E - Sequence Sum |
| User | H20 |
| Language | PyPy3 (7.3.0) |
| Score | 500 |
| Code Size | 692 Byte |
| Status | AC |
| Exec Time | 181 ms |
| Memory | 121564 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 500 / 500 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | sample_01.txt, sample_02.txt, sample_03.txt |
| All | hand_01.txt, hand_02.txt, hand_03.txt, hand_04.txt, hand_05.txt, max_01.txt, max_02.txt, max_03.txt, max_11.txt, max_12.txt, max_13.txt, random_01.txt, random_02.txt, random_03.txt, random_04.txt, random_05.txt, random_06.txt, random_07.txt, random_08.txt, random_09.txt, random_10.txt, sample_01.txt, sample_02.txt, sample_03.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| hand_01.txt | AC | 69 ms | 62220 KiB |
| hand_02.txt | AC | 50 ms | 62340 KiB |
| hand_03.txt | AC | 143 ms | 121564 KiB |
| hand_04.txt | AC | 142 ms | 121160 KiB |
| hand_05.txt | AC | 116 ms | 92732 KiB |
| max_01.txt | AC | 176 ms | 120968 KiB |
| max_02.txt | AC | 176 ms | 120704 KiB |
| max_03.txt | AC | 181 ms | 120464 KiB |
| max_11.txt | AC | 136 ms | 121256 KiB |
| max_12.txt | AC | 138 ms | 121224 KiB |
| max_13.txt | AC | 139 ms | 121092 KiB |
| random_01.txt | AC | 79 ms | 70772 KiB |
| random_02.txt | AC | 93 ms | 83212 KiB |
| random_03.txt | AC | 123 ms | 96484 KiB |
| random_04.txt | AC | 71 ms | 69784 KiB |
| random_05.txt | AC | 63 ms | 69760 KiB |
| random_06.txt | AC | 89 ms | 84264 KiB |
| random_07.txt | AC | 133 ms | 108508 KiB |
| random_08.txt | AC | 152 ms | 113280 KiB |
| random_09.txt | AC | 91 ms | 88492 KiB |
| random_10.txt | AC | 129 ms | 100004 KiB |
| sample_01.txt | AC | 59 ms | 64816 KiB |
| sample_02.txt | AC | 53 ms | 62056 KiB |
| sample_03.txt | AC | 169 ms | 121456 KiB |