309054: CF1617E. Christmas Chocolates

Memory Limit:512 MB Time Limit:4 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

Christmas Chocolates

题意翻译

你有一个长度为 $n$ 的数组 $a_1,a_2,\dots,a_n$,一开始数组中的所有元素都**互不相同**。 你可以选择两个数组中的元素 $a_x,a_y$,然后执行若干次操作,每次操作你可以选择一个非负整数 $k$,然后将 $a_x$ 替换为 $2^k-a_x$。如果在某次操作之后 $a_x=a_y$,那么不再执行操作。任意时刻,$a_i$ 不能为负数。 你是一个很聪明的人,所以在选择一对 $(x,y)$ 之后你知道如何用最少的操作次数使得 $a_x=a_y$。但是你并不满足于此,你现在还想知道使得最少操作次数最大的 $(x,y)$。请求出 $x,y$ 和这个最大的最少操作次数 $m$。 数据范围: - $2\leqslant n\leqslant 2\times 10^5$。 - $0\leqslant a_i\leqslant 10^9$。 Translated by Eason_AC 2021.12.17

题目描述

Christmas is coming, Icy has just received a box of chocolates from her grandparents! The box contains $ n $ chocolates. The $ i $ -th chocolate has a non-negative integer type $ a_i $ . Icy believes that good things come in pairs. Unfortunately, all types of chocolates are distinct (all $ a_i $ are distinct). Icy wants to make at least one pair of chocolates the same type. As a result, she asks her grandparents to perform some chocolate exchanges. Before performing any chocolate exchanges, Icy chooses two chocolates with indices $ x $ and $ y $ ( $ 1 \le x, y \le n $ , $ x \ne y $ ). In a chocolate exchange, Icy's grandparents choose a non-negative integer $ k $ , such that $ 2^k \ge a_x $ , and change the type of the chocolate $ x $ from $ a_x $ to $ 2^k - a_x $ (that is, perform $ a_x := 2^k - a_x $ ). The chocolate exchanges will be stopped only when $ a_x = a_y $ . Note that other pairs of equal chocolate types do not stop the procedure. Icy's grandparents are smart, so they would choose the sequence of chocolate exchanges that minimizes the number of exchanges needed. Since Icy likes causing trouble, she wants to maximize the minimum number of exchanges needed by choosing $ x $ and $ y $ appropriately. She wonders what is the optimal pair $ (x, y) $ such that the minimum number of exchanges needed is maximized across all possible choices of $ (x, y) $ . Since Icy is not good at math, she hopes that you can help her solve the problem.

输入输出格式

输入格式


The first line of the input contains a single integer $ n $ ( $ 2 \le n \le 2 \cdot 10^5 $ ) — the number of chocolates. The second line of the input contains $ n $ integers $ a_1, a_2, \dots, a_n $ ( $ 0 \le a_i \le 10^9 $ ). It is guaranteed that all $ a_i $ are distinct.

输出格式


Output three integers $ x $ , $ y $ , and $ m $ . $ x $ and $ y $ are indices of the optimal chocolates to perform exchanges on. Your output must satisfy $ 1 \le x, y \le n $ , $ x \ne y $ . $ m $ is the number of exchanges needed to obtain $ a_x = a_y $ . We can show that $ m \le 10^9 $ for any pair of chocolates. If there are multiple solutions, output any.

输入输出样例

输入样例 #1

5
5 6 7 8 9

输出样例 #1

2 5 5

输入样例 #2

2
4 8

输出样例 #2

1 2 2

说明

In the first test case, the minimum number of exchanges needed to exchange a chocolate of type $ 6 $ to a chocolate of type $ 9 $ is $ 5 $ . The sequence of exchanges is as follows: $ 6 \rightarrow 2 \rightarrow 0 \rightarrow 1 \rightarrow 7 \rightarrow 9 $ . In the second test case, the minimum number of exchanges needed to exchange a chocolate of type $ 4 $ to a chocolate of type $ 8 $ is $ 2 $ . The sequence of exchanges is as follows: $ 4 \rightarrow 0 \rightarrow 8 $ .

Input

题意翻译

你有一个长度为 $n$ 的数组 $a_1,a_2,\dots,a_n$,一开始数组中的所有元素都**互不相同**。 你可以选择两个数组中的元素 $a_x,a_y$,然后执行若干次操作,每次操作你可以选择一个非负整数 $k$,然后将 $a_x$ 替换为 $2^k-a_x$。如果在某次操作之后 $a_x=a_y$,那么不再执行操作。任意时刻,$a_i$ 不能为负数。 你是一个很聪明的人,所以在选择一对 $(x,y)$ 之后你知道如何用最少的操作次数使得 $a_x=a_y$。但是你并不满足于此,你现在还想知道使得最少操作次数最大的 $(x,y)$。请求出 $x,y$ 和这个最大的最少操作次数 $m$。 数据范围: - $2\leqslant n\leqslant 2\times 10^5$。 - $0\leqslant a_i\leqslant 10^9$。 Translated by Eason_AC 2021.12.17

加入题单

上一题 下一题 算法标签: