Помогите с задачей, а

Начинающий
Статус
Оффлайн
Регистрация
27 Янв 2019
Сообщения
30
Реакции[?]
3
Поинты[?]
0
Кста, задание на украинском, но переводчик в помощь или как там?

A. Соцiальна дистанцiя
Обмеження: 1 сек., 256 МiБ
Люди стоять у черзi до магазину. Чергу можна уявити як координатну пряму. i-та людина
стоїть у координатi x.
Як вiдомо, в розпал пандемiї COVID-19 необхiдно дотримуватися соцiальної дистанцiї.
Вам потрiбно сказати, чи мiж кожною парою людей вiдстань є не меншою за 2 метри.
Вхiднi данi
Перший рядок мiстить одне цiле число n — кiлькiсть людей у черзi.
Другий рядок мiстить n цiлих чисел — координати людей у черзi в метрах, у порядку злiва
направо.

Вихiднi данi
Виведiть YES, якщо люди дотримуються дистанцiї, i NO в iншому випадку.
Обмеження
1 ≤ n ≤ 104

0 ≤ xi ≤ 109

xi ≤ xi+1.
Для 40% тестiв виконується додаткове обмеження n ≤ 100.
Приклади
Вхiднi данi (stdin):
4
4 7 44 47
Вихiднi данi (stdout):
YES

Python:
n = int(input())
a = list(map(int, input().split()))
x = 1
answer = 0
while x != n:
    if answer == n:
        print('YES')
    elif int(a[x]) - int(a[x-1]) >= 2:
        answer += 1
    x += 1
print('NO')
 
Олдфаг
Статус
Оффлайн
Регистрация
18 Фев 2019
Сообщения
2,825
Реакции[?]
1,852
Поинты[?]
24K
Если еще актуально, конечно:
Python:
n = int(input())
x1 = int(input())
x2 = int(input())
_break = False
if x2 - x1 < 2:
    print("NO")
else:
    for i in range(2, n):
        x1 = x2
        x2 = int(input())
        if x2 - x1 < 2:
            _break = True
            break
    print("NO" if _break else "YES")
Переделать под массив (если нужно), думаю, не составит труда
 
Сверху Снизу