Percer en 1 minute. Il suffit d'écrire.
A, B = map(int, input().split())
print(2 * A + 100 - B)
Percer en 4 minutes, j'étais un peu inquiet, mais j'ai réalisé que je devais tout essayer.
N, *A = map(int, open(0).read().split())
result = 0
for i in range(2, 1000):
t = 0
for a in A:
if a % i == 0:
t += 1
result = max(result, t)
print(result)
Percer en 6 minutes. Inutile de dire que si le nombre total de chaque chiffre est un multiple de 3, alors c'est un multiple de 3. Donc, vous devriez penser au nombre total de chaque chiffre divisé par 3. Si le reste est 0, le premier L'histoire est terminée car elle est un multiple de 3. Si le reste est 1 ou 2, ce sera 1 ou 2 chiffres, et si vous effacez 2 chiffres, ce sera toujours un multiple de 3, mais vous devez vérifier s'il y a suffisamment de chiffres à effacer.
N = input()
t = [int(c % 3) for c in N]
x = sum(t)
if x % 3 == 0:
print(0)
elif x % 3 == 1:
if 1 in t:
print(1)
else:
print(2)
elif x % 3 == 2:
if 2 in t:
print(1)
else:
print(2)
Percer en 17 minutes. Il est facile de voir que les coordonnées au début de chaque tour sont la somme des sommes cumulées jusqu'à ce point. Les coordonnées maximales pour chaque tour sont le total cumulé au début de chaque tour. Puisqu'il s'agit de la somme des valeurs maximales, il suffit de prendre la valeur maximale.
from itertools import accumulate
N, *A = map(int, open(0).read().split())
a = list(accumulate(A))
result = 0
c = 0
m = 0
for i in range(N):
m = max(a[i], m)
result = max(result, c + m)
c += a[i]
print(result)
Il a éclaté en 60 minutes. Je l'ai trouvé trop difficile. J'aurais dû le peindre sans réfléchir ...
from sys import stdin
readline = stdin.readline
H, W, N, M = map(int, readline().split())
AB = [tuple(map(lambda x: int(x) - 1, readline().split())) for _ in range(N)]
CD = [tuple(map(lambda x: int(x) - 1, readline().split())) for _ in range(M)]
t = [[0] * W for _ in range(H)]
ly = [[] for _ in range(H)]
lt = [[] for _ in range(W)]
for a, b in AB:
ly[a].append(b)
lt[b].append(a)
for i in range(H):
ly[i].sort()
for i in range(W):
lt[i].sort()
by = [[] for _ in range(H)]
bt = [[] for _ in range(W)]
for c, d in CD:
by[c].append(d)
bt[d].append(c)
for i in range(H):
by[i].append(W)
by[i].sort()
for i in range(W):
bt[i].append(H)
bt[i].sort()
result = 0
for h in range(H):
lyh = ly[h]
i = 0
pd = -1
for d in by[h]:
j = i
while j < len(lyh) and lyh[j] < d:
j += 1
if i != j:
for w in range(pd + 1, d):
t[h][w] = 1
i = j
pd = d
for w in range(W):
ltw = lt[w]
i = 0
pc = -1
for c in bt[w]:
j = i
while j < len(ltw) and ltw[j] < c:
j += 1
if i != j:
for h in range(pc + 1, c):
t[h][w] = 1
i = j
pc = c
print(sum(sum(x) for x in t))
Recommended Posts