Дан список. Не изменяя его и не используя дополнительные списки, определите, какое число в этом списке встречается чаще всего.
Если таких чисел несколько, выведите любое из них.
Вводится список чисел. Все числа списка находятся на одной строке.
Выведите ответ на задачу.
1 2 3 2 3 3
3
Дан список целых чисел. Требуется “сжать” его, переместив все ненулевые элементы в левую часть списка, не меняя их порядок, а все нули - в правую часть. Порядок ненулевых элементов изменять нельзя, дополнительный список использовать нельзя, задачу нужно выполнить за один проход по списку. Распечатайте полученный список.
Вводится список чисел. Все числа списка находятся на одной строке.
Выведите ответ на задачу.
4 0 5 0 3 0 0 5
4 5 3 5 0 0 0 0
\(N\) кеглей выставили в один ряд, занумеровав их слева направо числами от \(1\) до \(N\). Затем по этому ряду бросили \(K\) шаров, при этом \(i\)-й шар сбил все кегли с номерами от \(l_i\) до \(r_i\) включительно. Определите, какие кегли остались стоять на месте.
Программа получает на вход количество кеглей \(N\) и количество бросков \(K\). Далее идет \(K\) пар чисел \(l_i\), \(r_i\), при этом \(1\le l_i\le r_i\le N\).
Программа должна вывести последовательность из \(N\) символов, где \(j\)-й символ
есть “I
”, если \(j\)-я кегля осталась стоять, или
“.
”, если \(j\)-я кегля была сбита.
10 3 8 10 2 5 3 6
I.....I...
Дан список из \(N\) (\(1 \le N \le 100000\)) целых чисел и число \(K\) (\(|K| < 100000 \)). Циклически сдвиньте список на \(|K|\) элементов вправо, если \(K\) – положительное и влево, если отрицательное число.
Программа получает на вход список целых чисел, затем число \(K\).
Выведите ответ на задачу.
Решение должно иметь сложность \(O(N)\), то есть не должно зависеть от \(K\). Дополнительным списком пользоваться нельзя.
5 3 7 4 6 3
7 4 6 5 3
Победитель школьного этапа олимпиады по информатике нашел дома в старых бумагах результаты чемпионата страны по стрельбе из лука, в котором участвовал его папа. К сожалению, листок с результатами сильно пострадал от времени, и разобрать фамилии участников было невозможно. Остались только набранные каждым участником очки, причем расположились они в том порядке, в котором участники чемпионата выполняли стрельбу.
Расспросив папу, школьник выяснил, что количество очков, которое набрал папа, заканчивается на 5, один из победителей чемпионата стрелял раньше, а папин друг, который стрелял сразу после папы, набрал меньше очков. Теперь он заинтересовался, какое самое высокое место мог занять его папа на том чемпионате.
Будем считать, что участник соревнования занял \(k\)-е место, если ровно \((k - 1)\) участников чемпионата набрали строго больше очков, чем он. При этом победителями считались все участники чемпионата, занявшие первое место.
Требуется написать программу, которая по заданным результатам чемпионата определяет, какое самое высокое место на чемпионате мог занять папа победителя школьного этапа олимпиады по информатике.
Первая строка входного файла содержит целое число \(n\) — количество участников чемпионата страны по стрельбе (\(3 \le n \le 10^5\)).
Вторая строка входного файла содержит \(n\) положительных целых чисел, каждое из которых не превышает 1000, — очки участников чемпионата, приведенные в том порядке, в котором они выполняли стрельбу.
В выходном файле должно содержаться одно целое число — самое высокое место, которое мог занять папа школьника. Если не существует ни одного участника чемпионата, который удовлетворяет, описанным выше условиям, выведите в выходной файл число 0.
Правильные решения для тестов, в которых \(1 \le n \le 1000\), оцениваются из 50 баллов.
7 10 20 15 10 30 5 1
6
3 15 15 10
1