Лучшие помощники
- Megamozg 2205 б
- Matalya1 1800 б
- DevAdmin 1720 б
- arkasha_bortnikov 900 б
- Dwayne_Johnson 870 б
14 октября 2022 16:34
1415
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
Остались вопросы?
Еще вопросы по категории Информатика
Старший помощник лом оказался старательным учеником чтобы порадовать капитана Врунгеля он выучил морскую Семафорная Азбука которой каждая буква кодиру...
1. Было проведено 9 запусков программы, при которых в качестве значений переменных я и k вводились следующие пары чисел: (1,1); (10, 7); (6,-12); (6,...
c++ Как найти максимальный элемент матрицы и поменять его с последней строчкой матрицы. Не могу никак понять. Объясните пожалуйста...
Толя, Петя, Саша и Ваня заняли первые четыре места в велокроссе. На вопрос, какие места они заняли, мальчики ответили: 1) Толя не занял ни первое,...
1.Определите, при каком наименьшем введённом значении переменной s программа выведет число, не большее, чем 50. 2.Определите, при каком наименьшем вве...