Загрузка...

Программисты, нужна ваша помощь!

Тема в разделе C/C++ создана пользователем FalleY_inactive124088 12 мар 2018. (поднята 12 мар 2018) 197 просмотров

Загрузка...
  1. FalleY_inactive124088
    FalleY_inactive124088 Автор темы 12 мар 2018 Заблокирован(а) 23 6 июн 2017
    Помогите решить задачу на c++:crying_tw:. В долгу не останусь):love::love::love:

    Как известно, Владимир даёт студентам сложные курсовые работы по алгоритмам. Не каждому удаётся сдать курсовую с первого раза, а некоторые особо невезучие студенты после очередной неудачи обращаются за советом к Максу.

    Пролистывая пояснительные записки, Макс обнаружил у нескольких студентов одну и ту же оплошность. Одним из этапов курсовой работы является построение графика, отражающего зависимость времени работы алгоритма от размера входных данных. Итоговый вид графиков может быть самым разным: здесь встречаются и различные параболы, и логарифмические кривые, и экспоненциальные кривые, и множество других кривых. Однако в пояснениях студенты упорно называют все эти функции линейными!

    Макс пришёл в ужас, представляя, как Владимир отреагирует на такой вывод, услышав его на защите. Поэтому он как можно скорее объяснил студентам, что график линейной функции должен представлять собой прямую линию.

    Теперь студентам нужно исправить свои выводы, но только в тех случаях, когда функция действительно не являлась линейной. Помогите Максу и студентам определить, является ли график функции, построенной по заданным точкам, прямой линией.


    Входные данные:
    Первая строка содержит целое число N (1 ≤ N ≤ 100) — количество точек на графике.
    Вторая строка содержит N целых чисел Yi (0 ≤ Yi ≤ 109, Yi - 1 ≤ Yi) — ординаты точек с абсциссами 1, 2, ..., N соответственно.


    Выходные данные:
    Если все точки принадлежат одной прямой линии, выведите YES, иначе выведите NO.

    Примеры:

    входные данные:
    5
    0 4 8 12 16
    выходные данные:
    YES

    входные данные:
    6
    0 1 4 9 16 25
    выходные данные:
    NO
     
Top