Задача на python
Условия
Анжелика Ивановна на первом уроке информатики решила устроить ребятам информатический баттл. В классе учатся n ребят.
Известно, что в этом баттле могут участвовать только два человека, причём рейтинг которых на одной популярной платформе совпадает. Но каждый из ребят может побороться и с самим собой! Рейтинг каждого ученика обозначается числом ai, где i - номер человека в журнале.
Теперь Анжелика Ивановна q раз случайно(нет) хочет узнать количество различных способов выбрать двух учеников (каждый ученик может побороться сам с собой, в этом случае его следует рассматривать как двух ребят с одинаковым рейтингом) на баттл таким образом, что их номера в журнале лежат на отрезке с li по ri, где i - номер очередного запроса учителя. Однако не всё так просто! Реальный запрос для всех i ≥ 2 определяется следующей формулой: l = (li + ansi−1)%n + 1, r = (ri + ansi−1)%n + 1, где ansi−1 - ответ на предыдущий запрос. Заметьте, что в результате такой операции может случиться так, что l > r, в этом случае их следует поменять местами. В случае же если i = 1, реальный запрос будет l = l1, r = r1.
Формат входных данных
Первая строка содержит одно целое число n (1 ≤ n ≤ 2 ·105).
Вторая строка набора содержит n целых чисел a1, a2, ..., an - рейтинги учеников на популярной платформе, 1 ≤ ai ≤ 109, где i - номер человека в журнале, 1 ≤ i ≤ n.
Третья строка состоит из одного целого числа q (1 ≤ q ≤ 105) - количество запросов от Анжелики Ивановны.
В следующих q строках входных данных описываются запросы. В каждой строке находятся два целых числа li,ri - границы отрезка номеров в журнале, среди которых можно выбирать учеников на баттл (1 ≤ li ≤ ri ≤ n). Не забудьте, что в реальном запросе может случиться так, что l > r.
Формат выходных данных
На каждый из q запросов выведите целое положительное число - количество различных способов выбрать двух учеников на баттл. Напомним, что ученик может побороться сам с собой.
Примеры
Входные данные:
3
2 2 3
3
1 3
1 1
1 2
Выходные данные:
4
1
4
Входные данные:
5
6 8 8 9 8
6
1 5
2 5
1 3
2 5
2 3
1 5
Выходные данные:
8
5
4
7
8
2
Ответы
Ответ дал:
1
Ответ:
All Cups:Технокубок 2022/2023
Объяснение:
Вы будете сняты с соревнования за нарушение правил 'Технокубок 2022/2023' , c уважением © All Cups — проект VK. v3.32.23 / You will be removed from the competition for violating the rules of 'Technocup 2022/2023' , best regards © All Cups — VK project. v3.32.23
Вас заинтересует
3 месяца назад
3 месяца назад
4 месяца назад
4 месяца назад
1 год назад
1 год назад
7 лет назад