#B3666. 求数列所有后缀最大值的位置

求数列所有后缀最大值的位置

题目描述

给定一个数列 aa,初始为空。有 nn 次操作,每次在 aa 的末尾添加一个正整数 xx

每次操作结束后,请你找到当前 aa 所有的后缀最大值的下标(下标从 1 开始)。一个下标 ii 是当前 aa 的后缀最大值下标当且仅当:对于所有的 i<jai < j \leq |a|,都有 ai>aja_i > a_j,其中 a|a| 表示当前 aa 的元素个数。

为了避免输出过大,请你每次操作结束后都输出一个整数,表示当前数列所有后缀最大值的下标的按位异或和。

输入格式

第一行是一个整数,表示操作次数 nn
第二行有 nn 个整数,依次表示 nn 次操作所添加的整数 xix_i

输出格式

每次操作后请输出一行一个整数,表示当前数列所有后缀最大值下标的按位异或和。

5
2 1 3 5 4
1
3
3
4
1

提示

数据规模与约定

对于全部的测试点,保证 1n1061 \leq n \leq 10^61xi<2641 \leq x_i \lt 2^{64}