Brechen Sie in 4 Minuten durch. Schreiben Sie einfach. Ist ARC ein Problem so einfach?
X, Y = map(int, input().split())
def f(n):
if n == 3:
return 100000
elif n == 2:
return 200000
elif n == 1:
return 300000
else:
return 0
result = f(X) + f(Y)
if X == 1 and Y == 1:
result += 400000
print(result)
In 26 Minuten durchbrechen. 1 WA.
Unter der Annahme, dass die Position des Schnitts p und die Länge der Stange l ist, ist es der Längenunterschied nach links, wenn p links von der Mitte liegt.(l - p) - p = l -Fügen Sie rechts 2p oder l hinzu-Müssen 2p reduzieren.In ähnlicher Weise, wenn p rechts von der Mitte ist, dann 2p rechts-l Addiere oder 2p auf der linken Seite-Ich muss reduzieren.Nach alldem|2p - l|Es werden die Kosten von, und Sie können die erforderlichen Kosten bei jeder Pause finden und den Mindestwert nehmen..
N = int(input())
A = list(map(int, input().split()))
a = A[:-1]
for i in range(1, N - 1):
a[i] += a[i - 1]
l = sum(A)
print(min(abs(p + p - l) for p in a))
Ich habe zuerst nicht alles berechnet, aber ich habe geschrieben, um die beiden mittleren zu berechnen, also habe ich WA gegessen ... Es gibt kein Problem mit dem Rechenaufwand, also hätte ich alles gehorsam berechnen sollen.
Konnte nicht durchbrechen. AC. 12 und eine halbe Minute nach dem Ende.
Die Richtlinie besteht darin, mit Erdbeere zu beginnen, den Bereich nach links, oben und rechts zu erweitern, sofern er nicht trifft, und den oberen Bereich in den letzten verbleibenden Teil zu kopieren.
H, W, K = map(int, input().split())
s = [input() for _ in range(H)]
a = [[-1] * W for _ in range(H)]
sbs = []
n = 1
for i in range(H):
si = s[i]
for j in range(W):
if si[j] == '#':
a[i][j] = n
n += 1
sbs.append((i, j))
for sb in sbs:
i, j = sb
n = a[i][j]
t, l = i - 1, j - 1
r = j + 1
while t > -1:
if a[t][j] != -1:
break
t -= 1
t += 1
while l > -1:
if a[i][l] != -1:
break
l -= 1
l += 1
while r < W:
if a[i][r] != -1:
break
r += 1
r -= 1
for y in range(t, i + 1):
ay = a[y]
for x in range(l, r + 1):
ay[x] = n
for h in range(H - 1, -1, -1):
if a[h][0] != -1:
break
h += 1
for i in range(h, H):
ai1 = a[i - 1]
ai = a[i]
for j in range(W):
ai[j] = ai1[j]
for i in range(H):
print(*a[i])
Recommended Posts