Олимпиадный тренинг

Задача . C. Очередная задача про колоду карт


У вас есть колода из \(n\) карт, пронумерованных сверху вниз, т. е. у верхней карты индекс \(1\), а у нижней — \(n\). У каждой карты есть цвет: цвет \(i\)-й карты равен \(a_i\).

Вам нужно обработать \(q\) запросов: \(j\)-й запрос описывается одним целым числом \(t_j\). Для каждого запроса вам нужно:

  • найти самую верхнюю карту в колоде с цветом \(t_j\), т. е. карту с минимальным индексом;
  • вывести индекс найденной карты;
  • вытащить данную карту и положить ее сверху колоды.
Входные данные

В первой строке заданы два целых числа \(n\) и \(q\) (\(2 \le n \le 3 \cdot 10^5\); \(1 \le q \le 3 \cdot 10^5\)) — количество карт в колоде и количество запросов.

Во второй строке заданы \(n\) целых чисел \(a_1, a_2, \dots, a_n\) (\(1 \le a_i \le 50\)) — цвета карт.

В третьей строке заданы \(q\) целых чисел \(t_1, t_2, \dots, t_q\) (\(1 \le t_j \le 50\)) — цвета в запросах. Гарантируется, что в запросах используются только цвета, представленные в колоде.

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

Выведите \(q\) целых чисел — ответы на все запросы.

Примечание

Описание примера:

  1. текущая колода \([2, 1, 1, 4, \underline{3}, 3, 1]\) и верхняя карта цвета \(t_1 = 3\) на позиции \(5\);
  2. текущая колода \([3, \underline{2}, 1, 1, 4, 3, 1]\) и верхняя карта цвета \(t_2 = 2\) на позиции \(2\);
  3. текущая колода \([2, 3, \underline{1}, 1, 4, 3, 1]\) и верхняя карта цвета \(t_3 = 1\) на позиции \(3\);
  4. текущая колода \([\underline{1}, 2, 3, 1, 4, 3, 1]\) и верхняя карта цвета \(t_4 = 1\) на позиции \(1\);
  5. текущая колода \([1, 2, 3, 1, \underline{4}, 3, 1]\) и верхняя карта цвета \(t_5 = 4\) на позиции \(5\).

Примеры
Входные данныеВыходные данные
1 7 5
2 1 1 4 3 3 1
3 2 1 1 4
5 2 3 1 5

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

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя