2221.Powers of Two

Time Limit: 1s Memory Limit: 256MB

You are given n integers a1,a2,...,an. Find the number of pairs of indexes i,j (i \lt j) that ai+aj is a power of 2 (i. e. some integer x exists so that ai+aj=2x).

Input Format(From the terminal/stdin)

The first line contains the single positive integer n (1 \le n \le 105) - the number of integers.

The second line contains n positive integers a1,a2,...,an (1 \le ai \le 109).

Output Format(To the terminal/stdout)

Print the number of pairs of indexes i,j (i \lt j) that ai+aj is a power of 2.

Sample Input 1

Copy
4
7 3 2 1
 \n
 · · · \n

Sample Output 1

Copy
2
 \n

Sample Input 2

Copy
3
1 1 1
 \n
 · · \n

Sample Output 2

Copy
3
 \n

Hints

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 \lt j) include in answer.

Submit

请先 登录

© 2025 FAQs