Лучшие помощники
- Megamozg 2180 б
- Matalya1 1800 б
- DevAdmin 1690 б
- arkasha_bortnikov 840 б
- Dwayne_Johnson 840 б
14 октября 2022 16:34
1187
1Задача 3: Андрей и порталы
Андрей вот-вот опоздает на школьный этап ВсОШ. К счастью, недавно в его городе появились порталы.
Город, в котором живет Андрей, можно представить в виде прямой. Всего в городе успели построить N порталов. Портал с номером і расположен в точке с
координатой х. Если в текущий момент времени вы находитесь в одной точке с каким-нибудь порталом, то можете всего за одну секунду телепортироваться в
любой другой портал вне зависимости от расстояния между ними. А время, требуемое для преодоления расстояния между точками с координатами рид без
использования порталов равно |р q секунд. Андрей является влиятельным гражданином, поэтому он может использовать систему порталов любое
количество раз.
Изначально Андрей находится в точке ѕ, а точка проведения олимпиады имеет координату е. Помогите Андрею понять, как быстро он может попасть на
олимпиаду, ведь каждая секунда на счету.
Входные данные
В первой строке входных данных записано одно целое число ѕ– начальное положение Андрея.
Во второй строке записано одно целое число е - место проведения олимпиады.
В третьей строке записано количество порталов N (2 s N< 2x105).
В каждой из следующих строк записано целое число х, - координата портала с номером і.
Все числа s, e, x, по модулю не превосходят 108.
Выходные данные
Выведите одно число - минимальное количество секунд, которое потребуется Андрею для того, чтобы добраться до места проведения олимпиады.
Система оценки
Решения, правильно работающие только для случаев, когда N не превосходит 10, будут оцениваться в 20 баллов.
Решения, правильно работающие только для случаев, когда не превосходит 1000, будут оцениваться в 60 баллов.
2
ответа
Ответ:
x = int(input())
y = int(input())
n = int(input())
x1=abs(x-y)
x2=abs(x-y)
list1=[]
for q in range(n):
k=int(input())
list1.append(k)
if abs(x-k)<x1:
x1=abs(x-k)
if abs(y-k)<x2:
x2=abs(y-k)
g=x1+x2+1
h=abs(x-y)
if g<h:
print(g)
else: print(h)
Объяснение:
Python
x = int(input())
y = int(input())
n = int(input())
x1=abs(x-y)
x2=abs(x-y)
list1=[]
for q in range(n):
k=int(input())
list1.append(k)
if abs(x-k)<x1:
x1=abs(x-k)
if abs(y-k)<x2:
x2=abs(y-k)
g=x1+x2+1
h=abs(x-y)
if g<h:
print(g)
else: print(h)
Объяснение:
Python
0
·
Хороший ответ
14 октября 2022 16:34
Ответ:s=int(input())
e=int(input())
n=int(input())
port=[]
for i in range(0,n):
x=int(input())
port.append(x)
a=1000000000
for i in range(0,n):
if (abs(port[i] - s)) < a:
a = abs(port[i] - s)
b=1000000000
for i in range(0,n):
if (abs(port[i] - e)) < b:
b = abs(port[i] - e)
if abs(s - e) < (a+b+1):
print(abs(s - e))
else:
print(a+b+1)
Объяснение:
В первой строке входных данных записано одно целое число s — начальное положение Андрея.
Во второй строке записано одно целое число e — место проведения олимпиады.
В третьей строке записано количество порталов N (2 ≤ N ≤ 2×105).
В каждой из N следующих строк записано целое число xi — координата портала с номером i.
Все числа s, e, xi по модулю не превосходят 108.
e=int(input())
n=int(input())
port=[]
for i in range(0,n):
x=int(input())
port.append(x)
a=1000000000
for i in range(0,n):
if (abs(port[i] - s)) < a:
a = abs(port[i] - s)
b=1000000000
for i in range(0,n):
if (abs(port[i] - e)) < b:
b = abs(port[i] - e)
if abs(s - e) < (a+b+1):
print(abs(s - e))
else:
print(a+b+1)
Объяснение:
В первой строке входных данных записано одно целое число s — начальное положение Андрея.
Во второй строке записано одно целое число e — место проведения олимпиады.
В третьей строке записано количество порталов N (2 ≤ N ≤ 2×105).
В каждой из N следующих строк записано целое число xi — координата портала с номером i.
Все числа s, e, xi по модулю не превосходят 108.
0
14 октября 2022 16:34
Остались вопросы?
Еще вопросы по категории Информатика
/*14.1. Бонни и Клайд (6) Задача выполнена студентом ПС 21 Желаевым Денисом. Бонни и Клайд задумали ограбить в некотором городе два банка. Все N банк...
Пожалуйста, срочно!!!!! Даны действительные числа a1, a2, ..., a2n. Найти: max(a1 + a2n, a2 + a2n-1, ..., an + an+1). Решить на языке python! Одном...
1 для чего нужен холст (это вопрос по информатике). 2 как сохранять рисунок в программе Piant 3D...
Шахматная доска состоит 8 столбцов и 8 строк. Какое минимальное количество бит потребуется для кодирование координат одного шахматного поля....
Символом F обозначено одно из указанных ниже логических выражений от трех аргументов: X, Y, Z. Дан фрагмент таблицы истинности выражения F (см. таблиц...
Все предметы