255
Объяснение:
Есть выражение НЕ ( (Последняя цифра четная) ИЛИ НЕ (Сумма цифр четная) )
Разберём по действиям:
(1-ми то что в скобках)
(Последняя цифра четная):
Последняя цифра 5. 5 Не чётная.
Выражение ложное
Не (сумма цифр чётная):
2+5+5 = 12
12 Чётное, Не 12 чётное - то есть 12 не чётное, это ложь
Ложь ИЛИ Ложь = Ложь (Правда только если хоть одно из них правда, здесь оба ложные.)
И того:
НЕ Ложь - это ПРАВДА.
Нам как раз и надо, чтобы вышла правда.
Во всех остальных случаях выходит ложь, выходит 255 то число которое мы и искали.
import sys
A = int(input())
B = int(input())
C = int(input())
D = int(input())
K = int(input())
def check(x, y):
if abs(x) > K or abs(y) > K:
return 0
y += A
if y >= K:
return A - (y - K)
x += B
if x >= K:
return A + B - (x - K)
y -= C
if y <= -K:
return A + B + C - (-y - K)
x -= D
if x <= -K:
return A + B + C + D - (-x - K)
return -1
if check(0, 0) != -1:
print(check(0, 0))
sys.exit(0)
x = B - D
y = A - C
left = 0
right = 10 ** 9
while right - left > 1:
mid = (left + right) // 2
if check(x * mid, y * mid) == -1:
left = mid
else:
right = mid
print(right * (A + B + C + D) + check(x * right, y * right))
255
Объяснение:
Есть выражение НЕ ( (Последняя цифра четная) ИЛИ НЕ (Сумма цифр четная) )
Разберём по действиям:
(1-ми то что в скобках)
(Последняя цифра четная):
Последняя цифра 5. 5 Не чётная.
Выражение ложное
Не (сумма цифр чётная):
2+5+5 = 12
12 Чётное, Не 12 чётное - то есть 12 не чётное, это ложь
Выражение ложное
Ложь ИЛИ Ложь = Ложь (Правда только если хоть одно из них правда, здесь оба ложные.)
И того:
НЕ Ложь - это ПРАВДА.
Нам как раз и надо, чтобы вышла правда.
Во всех остальных случаях выходит ложь, выходит 255 то число которое мы и искали.
import sys
A = int(input())
B = int(input())
C = int(input())
D = int(input())
K = int(input())
def check(x, y):
if abs(x) > K or abs(y) > K:
return 0
y += A
if y >= K:
return A - (y - K)
x += B
if x >= K:
return A + B - (x - K)
y -= C
if y <= -K:
return A + B + C - (-y - K)
x -= D
if x <= -K:
return A + B + C + D - (-x - K)
return -1
if check(0, 0) != -1:
print(check(0, 0))
sys.exit(0)
x = B - D
y = A - C
left = 0
right = 10 ** 9
while right - left > 1:
mid = (left + right) // 2
if check(x * mid, y * mid) == -1:
left = mid
else:
right = mid
print(right * (A + B + C + D) + check(x * right, y * right))
Объяснение: