atcoder#AGC029B. [AGC029B] Powers of two

[AGC029B] Powers of two

配点 : 600600

問題文

高橋君は正整数が書かれたボールを NN 個持っています。ii 番目のボールに書かれている正整数は AiA_i です。 高橋君は NN 個のボールからいくつかのペアを作って、それぞれのペアのボールに書かれた数の和が 22 べきとなるようにしたいです。 ただし、同じボールが複数のペアに属することはできません。 最大でいくつのペアが作れるか求めてください。

ただし、正整数が 22 べきであるとは、ある非負整数 tt を用いて 2t2^t と書けることを指します。

制約

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

入力

入力は以下の形式で標準入力から与えられる。

NN

A1A_1 A2A_2 ...... ANA_N

出力

22 つのボールに書かれた数の和が 22 べきとなるペアの個数として考えられる最大値を出力せよ。

3
1 2 3
1

11 番目のボールと 33 番目のボールをペアにすることで、書かれた数の和が 44 となるペアを 11 つ作ることができます。 22 番目のボール同士をペアにできないことに注意してください。

5
3 11 14 5 13
2