Skip to content

Latest commit

 

History

History
213 lines (142 loc) · 9.45 KB

File metadata and controls

213 lines (142 loc) · 9.45 KB

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