E. Видеоклип

Codeforces
IDCF10096E
Time2000ms
Memory256MB
Difficulty
English · Original
Formal · Original
Команда Макса затащила важный матч в Доту! Макс рад вдвойне, потому что он не только успешно играл, но и попутно записывал процесс игры на видео. Теперь Макс хочет увековечить свою былинную победу, смонтировав видеоклип из самых важных моментов матча. Запись игры Макс разделил на несколько фрагментов. Теперь он должен выбрать некоторые из этих фрагментов, чтобы, склеив их, получить видеоклип. Каждый фрагмент Макс может использовать не более одного раза; кроме того, Максу важно сохранить порядок показанных событий в первозданном виде, поэтому выбранные фрагменты в клипе должны быть упорядочены так же, как и в исходной записи. Другими словами, в качестве материала для клипа Макс должен выбрать некоторую подпоследовательность (не обязательно непрерывную) фрагментов исходной записи. Разумеется, неотъемлемой частью хорошего видеоклипа должна быть драматичная музыка. При воспроизведении клипа видеоряд и музыкальное сопровождение начинаются одновременно в момент времени 0. Максу особенно нравится, когда конец некоторого фрагмента клипа сопровождается эффектным моментом в музыкальной композиции. Макс уже выбрал подходящую фоновую музыку и составил список имеющихся в ней эффектных моментов. Теперь Макс хочет смонтировать свой видеоклип так, чтобы как можно больше раз конец фрагмента совпадал с эффектным моментом фоновой музыки. Итоговая продолжительность клипа при этом не имеет значения. Помогите Максу узнать, каким образом лучше всего смонтировать видеоклип. Первая строка содержит целое число N (1 ≤ N ≤ 3000) — количество фрагментов исходной видеозаписи. Вторая строка содержит N целых чисел Li (1 ≤ Li ≤ 3000) — продолжительность каждого из фрагментов в секундах. Третья строка содержит целое число M (1 ≤ M ≤ 3000) — количество эффектных моментов в музыкальной композиции. Четвёртая строка содержит M различных целых чисел Tj (0 < Tj ≤ 3000), упорядоченных по возрастанию, — время в секундах, когда наступает каждый из эффектных моментов. Выведите одно целое число — максимально возможное количество моментов, когда конец фрагмента клипа совпадает с эффектным моментом в музыкальной композиции. ## Входные Данные Первая строка содержит целое число N (1 ≤ N ≤ 3000) — количество фрагментов исходной видеозаписи.Вторая строка содержит N целых чисел Li (1 ≤ Li ≤ 3000) — продолжительность каждого из фрагментов в секундах.Третья строка содержит целое число M (1 ≤ M ≤ 3000) — количество эффектных моментов в музыкальной композиции.Четвёртая строка содержит M различных целых чисел Tj (0 < Tj ≤ 3000), упорядоченных по возрастанию, — время в секундах, когда наступает каждый из эффектных моментов. ## Выходные Данные Выведите одно целое число — максимально возможное количество моментов, когда конец фрагмента клипа совпадает с эффектным моментом в музыкальной композиции. ## Примеры Входные данные81 2 5 5 1 6 4 262 4 6 7 9 10Выходные данные3Входные данные82 6 1 8 2 5 4 172 5 6 7 8 9 10Выходные данные4 [samples]
**Definitions** Let $ n = 2^k $. Let $ \pi : \{0, 1, \dots, n-1\} \to \{0, 1, \dots, n-1\} $ be the permutation induced by recursively folding the strip of $ n $ cells in half (right over left) until length 1, where $ \pi(i) $ is the final top-to-bottom position of the cell originally at index $ i $. Let $ F(l, r) = \sum_{i=l}^{r} (-1)^{i-l} \cdot \pi(i) $. Let $ m \in \mathbb{Z}^+ $, $ l_0, r_0 \in \{0, \dots, n-1\} $, $ a, b, c \in \mathbb{Z} $ be given. Define sequence of queries $ (l_j, r_j) $ for $ j = 0, \dots, m-1 $: $$ l_j = (l_{j-1} + a \cdot h_{j-1} + b) \bmod n, \quad r_j = (r_{j-1} + a \cdot h_{j-1} + c) \bmod n, \quad \text{for } j \geq 1 $$ with $ h_0 = 0 $, and $ h_j = h_{j-1} \oplus F(l_j, r_j) $ for $ j \geq 1 $. **Constraints** 1. $ 0 \leq k \leq 30 $ → $ n = 2^k \leq 2^{30} $ 2. $ 1 \leq m \leq 10^7 $ 3. $ 0 \leq l_0 \leq r_0 < n $ 4. $ 0 \leq a, b, c < 2^{30} $ **Objective** Compute $ h_m $, the final hash value after $ m $ queries.
API Response (JSON)
{
  "problem": {
    "name": "E. Видеоклип",
    "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": "CF10096E"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "Команда Макса затащила важный матч в Доту! Макс рад вдвойне, потому что он не только успешно играл, но и попутно записывал процесс игры на видео. Теперь Макс хочет увековечить свою былинную победу, см...",
      "is_translate": false,
      "language": "English"
    },
    {
      "statement_type": "Markdown",
      "content": "**Definitions**  \nLet $ n = 2^k $.  \nLet $ \\pi : \\{0, 1, \\dots, n-1\\} \\to \\{0, 1, \\dots, n-1\\} $ be the permutation induced by recursively folding the strip of $ n $ cells in half (right over left) un...",
      "is_translate": false,
      "language": "Formal"
    }
  ]
}
Full JSON Raw Segments