Codeforces Round 750 (Div. 2) |
---|
Закончено |
Кузя начал ходить в школу. На уроке математики ему дали домашнее задание. Для этого задания ему выдали массив натуральных чисел $$$a$$$ длины $$$n$$$ и массив символов $$$b$$$ длины $$$n$$$, состоящий только из символов '*' или '/'.
Давайте определим траекторию вычислений для отрезка $$$[l; r]$$$ ($$$1 \le l \le r \le n$$$) следующим образом:
Например, пусть $$$a=[7,$$$ $$$12,$$$ $$$3,$$$ $$$5,$$$ $$$4,$$$ $$$10,$$$ $$$9]$$$, $$$b=[/,$$$ $$$*,$$$ $$$/,$$$ $$$/,$$$ $$$/,$$$ $$$*,$$$ $$$*]$$$, $$$l=2$$$, $$$r=6$$$, тогда траектория вычислений для этого отрезка — это $$$[12,$$$ $$$4,$$$ $$$0.8,$$$ $$$0.2,$$$ $$$2]$$$.
Давайте назовем отрезок $$$[l;r]$$$ простым, если траектория вычислений для него содержит только целые числа.
Кузе нужно посчитать количество простых отрезков $$$[l;r]$$$ ($$$1 \le l \le r \le n$$$). Так как у него явно нет ни времени, ни желания проводить вычисления для всех вариантов, он попросил вас написать программу, чтобы узнать это количество!
Первая строка содержит единственное целое число $$$n$$$ ($$$2 \le n \le 10^6$$$).
Вторая строка содержит $$$n$$$ целых чисел $$$a_1, a_2, \ldots, a_n$$$ ($$$1 \le a_i \le 10^6$$$).
Третья строка содержит $$$n$$$ символов без пробелов между ними — массив $$$b_1, b_2 \ldots b_n$$$ ($$$b_i=$$$ '/' или $$$b_i=$$$ '*' для всех $$$1 \le i \le n$$$).
В единственной строке выведите одно целое число — количество простых отрезков $$$[l;r]$$$.
3 1 2 3 */*
2
7 6 4 10 1 2 15 1 */*/*//
8
Название |
---|