H. Язык PJ

Codeforces
IDCF10059H
Time2000ms
Memory256MB
Difficulty
English · Original
Formal · Original
Мальчик Вартáн настолько любит языки программирования, что выучил уже целых девять и обзавёлся самоучителем по ещё одному языку! Впрочем, просто учить языки ему уже немного надоело, и он решил придумать свой. Название для языка было придумано всего за пару минут — #cf_span(class=[tex-font-style-underline], body=[PJ]) (аббревиатура от любимых команд Вартана), казалось бы, полдела сделано. После пяти лет упорной работы Вартан реализовал две команды, работающие с целыми неотрицательными числами: Изначально исполнитель находится на первой строке, работа программы начинается с выполнения записанной в ней команды. Выполнение программы заканчивается после того, как исполнитель попытается перейти дальше последней строки. Нетрудно догадаться, что на данном языке невозможно написать программу, не завершающуюся за конечное число итераций. По имеющейся программе на языке PJ определите сумму всех чисел, которые будут выведены в результате её исполнения. На ввод подаётся корректная программа на языке PJ, состоящая как минимум из одной, но не более чем из 105 команд. Количество строк в файле совпадает с количеством команд, каждая команда занимает отдельную строку. Команда, записанная в строке с номером i (при нумерации от единицы), удовлетворяет одному из двух форматов: Выведите сумму всех чисел, которые будут выведены в процессе выполнения данной программы. ## Входные Данные На ввод подаётся корректная программа на языке PJ, состоящая как минимум из одной, но не более чем из 105 команд. Количество строк в файле совпадает с количеством команд, каждая команда занимает отдельную строку. Команда, записанная в строке с номером i (при нумерации от единицы), удовлетворяет одному из двух форматов: _print value_, где 0 ≤ value ≤ 104. _jump num count_, где 1 ≤ num ≤ i, 0 ≤ count ≤ 104. ## Выходные Данные Выведите сумму всех чисел, которые будут выведены в процессе выполнения данной программы. ## Примеры Входные данныеprint 1print 2jump 2 2Выходные данные7Входные данныеprint 3jump 1 1print 1print 1jump 1 2Выходные данные18 [samples]
**Definitions** Let $ n \in \mathbb{Z} $ be the number of commands, $ 1 \leq n \leq 10^5 $. Let $ P = (c_1, c_2, \dots, c_n) $ be the program, where each $ c_i $ is one of: - `PRINT x` for some integer $ x \geq 0 $, or - `JUMP k` for some integer $ k \in \{1, 2, \dots, n\} $. Let $ s \in \{1, 2, \dots, n\} $ denote the current command index, starting at $ s = 1 $. Let $ \text{output} \subseteq \mathbb{Z}_{\geq 0} $ be the multiset of values printed during execution. **Constraints** 1. Execution begins at command $ c_1 $. 2. Execution terminates when $ s > n $. 3. For each command $ c_i $: - If $ c_i = \text{PRINT } x $, then append $ x $ to $ \text{output} $, and set $ s \leftarrow s + 1 $. - If $ c_i = \text{JUMP } k $, then set $ s \leftarrow k $. **Objective** Compute $ \sum_{v \in \text{output}} v $.
API Response (JSON)
{
  "problem": {
    "name": "H. Язык PJ",
    "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": "CF10059H"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "Мальчик Вартáн настолько любит языки программирования, что выучил уже целых девять и обзавёлся самоучителем по ещё одному языку! Впрочем, просто учить языки ему уже немного надоело, и он решил придума...",
      "is_translate": false,
      "language": "English"
    },
    {
      "statement_type": "Markdown",
      "content": "**Definitions**  \nLet $ n \\in \\mathbb{Z} $ be the number of commands, $ 1 \\leq n \\leq 10^5 $.  \nLet $ P = (c_1, c_2, \\dots, c_n) $ be the program, where each $ c_i $ is one of:  \n- `PRINT x` for some ...",
      "is_translate": false,
      "language": "Formal"
    }
  ]
}
Full JSON Raw Segments