A10525. Powers of Two
编程题
普及/提高-
知识点
题目描述
You are given $n$ integers $a_{1},a_{2},...,a_{n}$ . Find the number of pairs of indexes $i,j$ ( $i<j$ ) that $a_{i}+a_{j}$ is a power of $2$ (i. e. some integer $x$ exists so that $a_{i}+a_{j}=2^{x}$ ).
输入格式
The first line contains the single positive integer $n$ ( $1<=n<=10^{5}$ ) — the number of integers.
The second line contains $n$ positive integers $a_{1},a_{2},...,a_{n}$ ( $1<=a_{i}<=10^{9}$ ).
The second line contains $n$ positive integers $a_{1},a_{2},...,a_{n}$ ( $1<=a_{i}<=10^{9}$ ).
输出格式
Print the number of pairs of indexes $i,j$ ( $i<j$ ) that $a_{i}+a_{j}$ is a power of $2$ .
输入输出样例
输入 #1
4 7 3 2 1
输出 #1
2
输入 #2
3 1 1 1
输出 #2
3
说明/提示
In the first example the following pairs of indexes include in answer: $(1,4)$ and $(2,4)$ .
In the second example all pairs of indexes $(i,j)$ (where $i<j$ ) include in answer.
In the second example all pairs of indexes $(i,j)$ (where $i<j$ ) include in answer.