02. Отбор записей для отчёта

☰ Теория

Динамический массив List<T>

Что хранит. Последовательность элементов одного типа, которая может расти и уменьшаться. Сохраняет порядок и повторы.

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

Основные операции

Запись на C#Назначение
a.CountЧисло элементов; Capacity — отдельно выделенный запас места.
a[i]Прочитать или заменить элемент: 0 ≤ i < Count.
a.Add(x)Добавить в конец.
a.Insert(i, x)Вставить на позицию i: 0 ≤ i ≤ Count.
a.RemoveAt(i)Удалить по индексу; следующие элементы сдвинутся.
a.Remove(x)Удалить первое совпадение по значению; false, если его нет.
a.IndexOf(x)Индекс первого совпадения или −1.
a.Sort()Упорядочить элементы по возрастанию.

Пример

Для примера нужны using System; и using System.Collections.Generic;. Код выполняется внутри Main.

List<int> a = new List<int>();
a.Add(10);
a.Add(30);
a.Insert(1, 20);               // Теперь: 10, 20, 30.
a.Remove(10);                  // Теперь: 20, 30.
Console.WriteLine(a[0]);
Console.WriteLine(a.Count);

Вывод:

20
2

Важно. При вставке допустим индекс Count, при чтении, замене и удалении — нет. Во время foreach не добавляйте и не удаляйте элементы того же списка.

Для этой задачи

  • Отбор. Добавляйте подходящие значения в новый список. Исходная последовательность при этом сохраняется.

В отчёт нужно включить только измерения из диапазона от L до R включительно. Сохраните исходный порядок подходящих значений и все их повторения.

Входные данные

Первая строка содержит n, L и R. Вторая строка содержит n целых измерений; при n = 0 эта строка пустая.

Выходные данные

В первой строке выведите количество выбранных значений. Во второй — выбранные значения через пробел. Если их нет, во второй строке выведите EMPTY.

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

Ограничения

0 ≤ n ≤ 100000; −10⁹ ≤ L ≤ R ≤ 10⁹; измерения от −10⁹ до 10⁹.

Примеры
Входные данныеВыходные данные
1
6 10 20
12 7 12 19 20 21
4
12 12 19 20
2
3 5 8
1 9 10
0
EMPTY

Напишите программу
Auto
       

time 3000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
C#8