QOJ.ac

QOJ

Time Limit: 1 s Memory Limit: 64 MB Total points: 20

#23773. Викладання каменів го

Statistics

Умова задачі

Ми граємо, викладаючи в ряд на столі білі та чорні камені для гри в го. Спочатку камінь кладеться на лівий край столу. Потім наступний камінь кладеться на $2$-ге місце зліва. Повторюючи цю дію $n$ разів, ми вибудовуємо $n$ каменів в один горизонтальний ряд. Однак під час викладання нового $i$-го каменя камені на столі замінюються за такими правилами:

  • Якщо $i$ непарне: камені, що вже лежать на столі, не замінюються, а новий камінь кладеться на $i$-те місце зліва.
  • Якщо $i$ парне: якщо колір нового каменя, який кладеться на $i$-те місце зліва, збігається з кольором крайнього правого каменя на столі, то камені на столі не замінюються, а новий камінь кладеться на $i$-те місце зліва. В іншому разі, тобто якщо колір нового каменя на $i$-му місці зліва відрізняється від кольору крайнього правого каменя на столі, спочатку всі підряд розташовані камені одного кольору на правому краю столу прибираються і замінюються каменями того ж кольору, що й $i$-й камінь. Потім на правий край столу кладеться $i$-й камінь.

Наприклад, нехай після викладання перших $7$ каменів утворилося таке розташування:

$$\circ \circ \bullet \bullet \circ \circ \circ$$

(тут $\circ$ позначає білий камінь, а $\bullet$ — чорний камінь).

  • Якщо $8$-й камінь білий ($\circ$), то, оскільки він того ж кольору, що й крайній правий камінь, ми просто кладемо його. Отже, камені на столі матимуть вигляд:

$$\circ \circ \bullet \bullet \circ \circ \circ \circ$$

  • Якщо $8$-й камінь чорний ($\bullet$), то, оскільки його колір відрізняється від крайнього правого каменя ($\circ$), спочатку ми прибираємо $3$ підряд розташовані білі камені ($\circ$) на правому краю столу і замінюємо їх чорними каменями ($\bullet$). Потім на правий край кладемо $8$-й камінь. Отже, камені на столі матимуть вигляд:

$$\circ \circ \bullet \bullet \bullet \bullet \bullet \bullet$$

За заданим у вхідних даних порядком викладання каменів напишіть програму, яка визначить кількість білих каменів на столі після того, як усі $n$ каменів буде викладено.

Вхідні дані

У $1$-му рядку записано додатне ціле число $n$ ($1 \le n \le 100\,000$). Починаючи з $2$-го рядка, в $i+1$-му рядку ($1 \le i \le n$) записано ціле число $c_{i}$, що позначає колір $i$-го викладеного каменя: якщо $c_{i}$ дорівнює $0$, то $i$-й камінь білий, а якщо $1$ — то $i$-й камінь чорний.

У тестових даних на $50\%$ балів виконується умова $n \le 10\,000$.

Вихідні дані

Виведіть $1$ рядок, що містить лише кількість білих каменів на столі після викладання всіх $n$ каменів.

Приклади вводу і виводу

Приклад вводу 1

8
1
0
1
1
0
0
0
0

Приклад виводу 1

6

Приклад вводу 2

8
1
0
1
1
0
0
0
1

Приклад виводу 2

2

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.