AtCoder Regular Contest 113 - AtCoder 3問
- A,B,Cのすべてが210**5の範囲を動くと810**15で間に合わない
- だけどAが2の時はBは半分の範囲しか動かないし、A,Bが決まればCの範囲は計算で決まる py
def main():
K = int(input())
ret = 0
for A in range(1, K + 1):
maxB = K // A
for B in range(1, maxB + 1):
maxC = maxB // B
ret += maxC
print(ret)
py
def main():
A, B, C = map(int, input().split())
doubling = [B % 20]
for i in range(32):
doubling.append(
(doubling[-1] ** 2) % 20
)
BC = 1
for i in range(32):
if C % 2:
BC *= doubling[i]
BC %= 20
C //= 2
if BC == 0:
BC = 20
ret = (A % 10) ** BC
ret %= 10
print(ret)
py
def main():
S = input().strip().decode('ascii')
from collections import defaultdict
count = defaultdict(int)
ret = 0
prev = None
count[S[-1]] += 1
count[S[-2]] += 1
for i in reversed(range(len(S) - 2)):
if S[i] != prev and S[i] == S[i + 1] != S[i + 2]:
d = (len(S) - 2) - i
d -= count[S[i]] - 1 # except S[i + 1]
ret += d
count = defaultdict(int)
p = len(S) - i
count[S[i]] = p
prev = S[i]
else:
count[S[i]] += 1
prev = None
print(ret)