Codeforces Round 930 (Div. 1) |
---|
Закончено |
Дана полоска из $$$n$$$ клеток. В $$$i$$$-й клетке полоски находится символ $$$s_i$$$, равный '<' или '>'.
Когда шарик помещают в одну из клеток, он начинает движение в соответствии со следующими правилами:
Вам нужно ответить на $$$n$$$ независимых запросов. В $$$i$$$-м запросе шарик изначально помещается в $$$i$$$-ю клетку. Обратите внимание, что шарик всегда помещается на одну из клеток изначальной полоски.
Для каждого запроса посчитайте, сколько пройдёт секунд до момента, когда шарик выйдет за пределы полоски. Можно доказать, что шарик всегда покинет полоску за конечное число шагов.
Каждый тест состоит из нескольких наборов входных данных. В первой строке находится одно целое число $$$t$$$ ($$$1 \le t \le 10^5$$$) — количество наборов входных данных. Далее следует описание наборов входных данных.
Первая строка каждого набора входных данных содержит одно целое число $$$n$$$ ($$$1 \le n \le 5 \cdot 10^5$$$).
Вторая строка каждого набора входных данных содержит строку $$$s_1s_2 \ldots s_{n}$$$ длины $$$n$$$, состоящую из символов '<' и '>'.
Гарантируется, что сумма значений $$$n$$$ по всем наборам входных данных не превосходит $$$5 \cdot 10^5$$$.
Для каждого набора входных данных, для каждого $$$i$$$ ($$$1 \le i \le n$$$) выведите ответ, если шарик изначально помещается в $$$i$$$-ю клетку.
33><<4<<<<6<><<<>
3 6 5 1 2 3 4 1 4 7 10 8 1
В первом наборе входных данных движение шарика для $$$i=1$$$ показано на картинке ниже. Шарику нужно $$$3$$$ секунды, чтобы покинуть полоску.
Движение шарика для $$$i=2$$$ показано на картинке ниже. Шарику нужно $$$6$$$ секунд, чтобы покинуть полоску.
Название |
---|