F. Снятся ли богам торты?

Codeforces
IDCF10120F
Time2000ms
Memory256MB
Difficulty
English · Original
Formal · Original
Можете представить, насколько сложно сделать торт? Нет, еще сложнее, чем вы представили. А вот главный королевский кондитер точно представлял. Он готовил торты с детства, самых разных форм, цветов и вкусов. Когда его спросили, как у него получается делать такие сложные торты, он просто ответил: "Я верю, что Ника, богиня победы, очень любит торты - поэтому из кухни я всегда выхожу победителем". Но однажды ему заказали особо необычный торт. Этот торт должны были повесить в комнате королевского первенца, поэтому он должен был быть выполнен в виде плоской картины из N·M кубиков попарно различных цветов, каждый кубик имел свой неповторимый цвет. Кондитер разработал специальный аппарат для выдавливания кубиков нужной формы. Для упрощения конструкции материалы разных цветов вводились в аппарат заранее в неизменном после ввода порядке. В тот знаменательный день кондитер задал порядок цветов в аппарате и отправился создавать сей шедевр. Он рассчитывал, что торт будет готовиться горизонтально и он сможет сам определять порядок заполнения торта, поэтому цвета в аппарат он задал в случайном порядке. Но оказалось, что рамка была уже жестко закреплена на стене, поэтому единственным способом сделать торт было выдавливать кубики один за одним сверху, после чего кубик летел вниз и останавливался, как только достигал нижней границы рамки или верхней грани другого кубика. Кондитер мог выбрать колонку, куда он сбросит очередной кубик, но повлиять на порядок кубиков в колонке не мог никак. Это был провал! Не каждый ведь порядок цветов может привести к созданию картины по заданному эскизу. Но отступать некуда - весь королевский двор собрался посмотреть, как кондитер приготовит свое самое великое творение. Времени до начала не так и много, поэтому он просит вас поскорее определить по заданной картине и порядку цветов в аппарате, выйдет ли он победителем и в этот раз или его спасет только божественное вмешательство? На всякий случай приведем формальное описание алгоритма получения картины для незнакомых с тонкостями кондитерского искусства: - Цвета в аппарате заданы в определенном порядке, цвет Ck обрабатывается только после обработки всех цветов C1, C2, ..., Ck - 1; - Выбирается колонка j (1 ≤ j ≤ M), куда будет выдавлен кубик цвета Ck; - Кубик занимает позицию в строке N, если до этого колонка была пустой, и в строке i, если позиции в данной колонке в строках N, N - 1, ..., i + 1 заняты обработанными ранее кубиками. В первой строке заданы два числа N и M (1 ≤ N·M ≤ 105). Следующие N строк содержат по M чисел Aij (1 ≤ Aij ≤ N·M) - цвета кубиков в соответствующем ряду картины. В последней строке задано N·M чисел Ck (1 ≤ Ck ≤ N·M) - порядок цветов в аппарате кондитера, в котором он будет выдавливать кубики для картины. Гарантируется, что все Aij и Ck различны. Выведите в единственной строке «_YES_» (без кавычек), если можно получить картину с заданными эскизом и порядком цветов, и «_NO_» (без кавычек) в ином случае. ## Входные Данные В первой строке заданы два числа N и M (1 ≤ N·M ≤ 105).Следующие N строк содержат по M чисел Aij (1 ≤ Aij ≤ N·M) - цвета кубиков в соответствующем ряду картины. В последней строке задано N·M чисел Ck (1 ≤ Ck ≤ N·M) - порядок цветов в аппарате кондитера, в котором он будет выдавливать кубики для картины.Гарантируется, что все Aij и Ck различны. ## Выходные Данные Выведите в единственной строке «_YES_» (без кавычек), если можно получить картину с заданными эскизом и порядком цветов, и «_NO_» (без кавычек) в ином случае. ## Примеры Входные данные2 21 23 43 4 1 2Выходные данныеYESВходные данные2 21 23 43 1 4 2Выходные данныеYESВходные данные2 31 2 34 5 66 1 5 2 4 3Выходные данныеNO [samples]
**Definitions** Let $ N, M \in \mathbb{Z}^+ $ be the dimensions of the grid, with $ 1 \leq N \cdot M \leq 10^5 $. Let $ A \in \mathbb{Z}^{N \times M} $ be the target grid, where $ A_{i,j} $ is the required color at row $ i $ (from top, $ 1 \leq i \leq N $) and column $ j $ (from left, $ 1 \leq j \leq M $). Let $ C = (C_1, C_2, \dots, C_{N \cdot M}) $ be the sequence of colors emitted by the machine, in order. **Constraints** 1. All values in $ A $ and $ C $ are distinct integers in $ [1, N \cdot M] $. 2. The machine deposits colors one by one into one of the $ M $ columns. 3. Each cube falls to the lowest available position in the chosen column (i.e., gravity acts downward; cubes stack from bottom up). 4. The final configuration must match $ A $ exactly. **Objective** Determine whether there exists a sequence of column choices $ j_1, j_2, \dots, j_{N \cdot M} \in \{1, \dots, M\} $ such that, after depositing $ C_k $ into column $ j_k $ for each $ k = 1, \dots, N \cdot M $, the resulting grid equals $ A $. Equivalently: For each column $ j \in \{1, \dots, M\} $, let $ r_j $ be the sequence of colors in column $ j $, from bottom to top (i.e., row $ N $ to row $ 1 $). Then $ r_j $ must be a subsequence of $ C $, and the concatenation of all $ r_j $ (in column order) must exactly match the sequence of colors in $ A $, read row-by-row from top to bottom, left to right. **Answer** Output "YES" if such a column assignment exists; otherwise, output "NO".
API Response (JSON)
{
  "problem": {
    "name": "F. Снятся ли богам торты?",
    "description": {
      "content": "Можете представить, насколько сложно сделать торт? Нет, еще сложнее, чем вы представили.  А вот главный королевский кондитер точно представлял. Он готовил торты с детства, самых разных форм, цветов и",
      "description_type": "Markdown"
    },
    "platform": "Codeforces",
    "limit": {
      "time_limit": 2000,
      "memory_limit": 262144
    },
    "difficulty": "None",
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "CF10120F"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "Можете представить, насколько сложно сделать торт? Нет, еще сложнее, чем вы представили. \n\nА вот главный королевский кондитер точно представлял. Он готовил торты с детства, самых разных форм, цветов и...",
      "is_translate": false,
      "language": "English"
    },
    {
      "statement_type": "Markdown",
      "content": "**Definitions**  \nLet $ N, M \\in \\mathbb{Z}^+ $ be the dimensions of the grid, with $ 1 \\leq N \\cdot M \\leq 10^5 $.  \nLet $ A \\in \\mathbb{Z}^{N \\times M} $ be the target grid, where $ A_{i,j} $ is the...",
      "is_translate": false,
      "language": "Formal"
    }
  ]
}
Full JSON Raw Segments