#ATagc029b. [AGC029B] Powers of two

[AGC029B] Powers of two

题目描述

高桥君有 NN 个写有正整数的球。第 ii 个球上写的正整数为 AiA_i。高桥君想从这 NN 个球中组成若干对,使得每一对球上数字之和都是 22 的幂。
注意,同一个球不能属于多个不同的对。
请你求出最多能组成多少对满足条件的球。

这里,正整数是 22 的幂,指的是存在某个非负整数 tt,使得该数可以写成 2t2^t 的形式。

输入格式

输入以如下格式从标准输入读入:

NN A1A_1 A2A_2 ...... ANA_N

输出格式

输出最多可以组成多少对满足条件的球。

样例 1

输入

3
1 2 3

输出

1

样例 2

输入

5
3 11 14 5 13

输出

2

说明/提示

限制

  • 1N2×1051 \leq N \leq 2 \times 10^5
  • 1Ai1091 \leq A_i \leq 10^9
  • AiA_i 是整数

样例解释 1

将第 11 个球和第 33 个球配对,可以得到一对和为 44 的球。注意,两个第 22 个球不能配对。

由 ChatGPT 4.1 翻译