Brechen Sie in 1 Minute durch. Schreiben Sie einfach.
A, B = map(int, input().split())
print(2 * A + 100 - B)
Durchbruch in 4 Minuten. Ich war ein wenig besorgt, erkannte aber, dass ich alles versuchen sollte.
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)
Brechen Sie in 6 Minuten durch. Wenn die Gesamtzahl jeder Ziffer ein Vielfaches von 3 ist, ist es natürlich ein Vielfaches von 3. Sie sollten also über die Gesamtzahl jeder Ziffer geteilt durch 3 nachdenken. Wenn der Rest 0 ist, die erste Die Geschichte ist vorbei, weil es ein Vielfaches von 3 ist. Wenn der Rest 1 oder 2 ist, ist es 1 Ziffer oder 2 Ziffern, und wenn Sie 2 Ziffern löschen, ist es immer ein Vielfaches von 3, aber Sie müssen überprüfen, ob es genügend Ziffern gibt, die gelöscht werden können.
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)
Durchbruch in 17 Minuten. Es ist leicht zu erkennen, dass die Koordinaten zu Beginn jeder Runde die Summe der kumulierten Summen bis zu diesem Punkt sind. Die maximalen Koordinaten für jede Runde sind die kumulierten Summen bis zu diesem Punkt zu Beginn jeder Runde. Da es sich um die Summe der Maximalwerte handelt, reicht es aus, den Maximalwert anzunehmen.
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)
Es brach in 60 Minuten durch. Ich fand es zu schwierig. Ich hätte es malen sollen, ohne nachzudenken ...
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