Skip to content

Files

homework-lecture-2

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
Jun 15, 2021
Jun 26, 2021
Jun 28, 2021
Jun 15, 2021
Jun 23, 2021
Jun 15, 2021
Jun 26, 2021
Jun 15, 2021
Jun 27, 2021

A. Возрастает ли список?

Дан список. Определите, является ли он монотонно возрастающим(то есть верно ли, что каждый элемент этого списка больше предыдущего).

Выведите YES, если массив монотонно возрастает и NO в противном случае.

Пример 1

Ввод

1 7 9

Вывод

YES

Пример 2

Ввод

1 9 7

Вывод

NO

Пример 3

Ввод

2 2 2

Вывод

NO

Решение: growing-list.js

B. Определить вид последовательности

По последовательности чисел во входных данных определите ее вид:

  • CONSTANT – последовательность состоит из одинаковых значений
  • ASCENDING – последовательность является строго возрастающей
  • WEAKLY ASCENDING – последовательность является нестрого возрастающей
  • DESCENDING – последовательность является строго убывающей
  • WEAKLY DESCENDING – последовательность является нестрого убывающей
  • RANDOM – последовательность не принадлежит ни к одному из вышеупомянутых типов

Формат ввода

По одному на строке поступают числа последовательности ai, |ai | ≤ 109 .

Признаком окончания последовательности является число -2× 109. Оно в последовательность не входит.

Формат вывода

В единственной строке выведите тип последовательности.

Пример

Ввод

-530
-530
-530
-530
-530
-530
-2000000000

Вывод

CONSTANT

Решение: sequence-type.js

C. Ближайшее число

Напишите программу, которая находит в массиве элемент, самый близкий по величине к данному числу.

Формат ввода

В первой строке задается одно натуральное число N, не превосходящее 1000 – размер массива. Во второй строке содержатся N чисел – элементы массива (целые числа, не превосходящие по модулю 1000). В третьей строке вводится одно целое число x, не превосходящее по модулю 1000.

Формат вывода

Вывести значение элемента массива, ближайшее к x. Если таких чисел несколько, выведите любое из них.

Пример 1

Ввод

5
1 2 3 4 5
6

Вывод

5

Пример 2

Ввод

5
5 4 3 2 1
3

Вывод

3

Решение: closest-number.js

D. Больше своих соседей

Дан список чисел. Определите, сколько в этом списке элементов, которые больше двух своих соседей и выведите количество таких элементов.

Формат ввода

Вводится список чисел. Все числа списка находятся на одной строке.

Формат вывода

Выведите ответ на задачу.

Пример 1

Ввод

1 2 3 4 5

Вывод

0

Пример 2

Ввод

5 4 3 2 1

Вывод

0

Пример 3

Ввод

1 5 1 5 1

Вывод

2

Решение: biggest-neighbor.js

E. Чемпионат по метанию коровьих лепешек

Ежегодный турнир "Веселый коровяк" - по метанию коровьих лепешек на дальность - прошел 8-9 июля в селе Крылово Осинского района Пермского края.

Участники соревнований кидают "снаряд" - спрессованный навоз, выбирая его из заранее заготовленной кучи. Желающих поупражняться в силе броска традиционно очень много - как мужчин, так и женщин. Каждую лепешку, которую метнули участники "Веселого коровяка", внимательно осматривали женщины в костюмах коров и тщательно замеряли расстояние.

Соревнования по метанию коровьих лепешек проводятся в Пермском крае с 2009 года.

К сожалению, после чемпионата потерялись записи с фамилиями участников, остались только записи о длине броска в том порядке, в котором их совершали участники.

Трактиорист Василий помнит три факта:

  1. Число метров, на которое он метнул лепешку, оканчивалось на 5

  2. Один из победителей чемпионата метал лепешку до Василия

  3. Участник, метавший лепешку сразу после Василия, метнул ее на меньшее количество метров

Будем считать, что участник соревнования занял k-е место, если ровно (k − 1) участников чемпионата метнули лепешку строго дальше, чем он.

Какое максимально высокое место мог занять Василий?

Формат ввода

Первая строка входного файла содержит целое число n — количество участников чемпионата по метанию лепешек (3 ≤ n ≤ 105).

Вторая строка входного файла содержит n положительных целых чисел, каждое из которых не превышает 1000, — дальность броска участников чемпионата, приведенные в том порядке, в котором происходило метание.

Формат вывода

Выведите самое высокое место, которое мог занять тракторист Василий. Если не существует ни одного участника чемпионата, который удовлетворяет, описанным выше условиям, выведите число 0.

Пример 1

Ввод

7
10 20 15 10 30 5 1

Вывод

6

Пример 2

Ввод

3
15 15 10

Вывод

1

Пример 3

Ввод

3
10 15 20

Вывод

0

Неполное решение: competition.js (8 тестов)

G. Наибольшее произведение двух чисел

Дан список, заполненный произвольными целыми числами. Найдите в этом списке два числа, произведение которых максимально. Выведите эти числа в порядке неубывания.

Список содержит не менее двух элементов. Числа подобраны так, что ответ однозначен.

Решение должно иметь сложность O(n), где n - размер списка.

Пример 1

Ввод

4 3 5 2 5

Вывод

5 5

Пример 2

Ввод

-4 3 -5 2 5

Вывод

-5 -4

Пример 3

Ввод

12288 -10075 29710 15686 -18900 -17715 15992 24431 6220 28403 -23148 18480 -22905 5411 -7602 15560 -26674 11109 -4323 6146 -1523 4312 10666 -15343 -17679 7284 20709 -7103 24305 14334 -12281 17314 26061 25616 17453 16618 -24230 -19788 21172 11339 2202 -22442 -20997 1879 -8773 -8736 5310 -23372 12621 -25596 -28609 -13309 -13 10336 15812 -21193 21576 -1897 -12311 -6988 -25143 -3501 23231 26610 12618 25834 -29140 21011 23427 1494 15215 23013 -15739 8325 5359 -12932 18111 -72 -12509 20116 24390 1920 17487 25536 24934 -6784 -16417 -2222 -16569 -25594 4491 14249 -28927 27281 3297 5998 6259 4577 12415 3779 -8856 3994 19941 11047 2866 -24443 -17299 -9556 12244 6376 -13694 -14647 -22225 21872 7543 -6935 17736 -2464 9390 1133 18202 -9733 -26011 13474 29793 -26628 -26124 27776 970 14277 -23213 775 -9318 29014 -5645 -27027 -21822 -17450 -5 -655 22807 -20981 16310 27605 -18393 914 7323 599 -12503 -28684 5835 -5627 25891 -11801 21243 -21506 22542 -5097 8115 178 10427 25808 10836 -11213 18488 21293 14652 12260 42 21034 8396 -27956 13670 -296 -757 18076 -15597 4135 -25222 -19603 8007 6012 2704 28935 16188 -20848 13502 -11950 -24466 5440 26348 27378 7990 -11523 -26393

Вывод

29710 29793

Решение: biggest-numbers-mult.js