编程题
### 问题描述
给定一个长为 $n$ 的数组 $a$,你可以选择一个范围在 $1$ 到 $n$ 之间的正整数 $k$,并选择数组 $a$ 的 $k$ 个非空子区间,使得数组 $a$ 的每个元素都处在且仅处在一个区间中。换句话说,便是将数组 $a$ 划分为 $k$ 个区间。定义一个区间的权值为区间中所有元素进行按位或运算的结果。求所有 $k$ 个区间的权值之和的最小值,以及在保证所有 $k$ 个区间的权值之和的最小的情况下可以选择的 $k$ 的最大值。
### 输入格式
输入第一行包含一个整数 $n$,表示数组 $a$ 的长度。
第二行包含 $n$ 个整数,表示数组 $a$。
### 输出格式
输出两个整数,分别表示所有 $k$ 个区间的权值之和的最小值,以及在保证所有 $k$ 个区间的权值之和最小的情况下可以选择的 $k$ 的最大值。
### 样例输入
```text
4
1 0 10 2
```
### 样例输出
```text
11 3
```
### 说明
可以选择 $k = 3$,选择三个区间分别为 $[1,1]$,$[2,2]$,$[3,4]$。三个区间权值分别为 $1$,$0$,$10$,和为 $11$。可以证明不存在使所有 $k$ 个区间的权值之和更小或在保证所有 $k$ 个区间的权值之和最小的情况下 $k$ 更大的方案。
### 评测数据规模
对于 $20$% 的评测数据,$1\leq n \leq 500$。
对于 $40$% 的评测数据,$1\leq n \leq 5\times 10^3$。
对于 $100$% 的评测数据,$1\leq n \leq 2\times 10^5$,$0\leq a_i \leq 2^{30}-1$。