【CodeForces】702B

来源:互联网 发布:java打包成可执行jar 编辑:程序博客网 时间:2024/06/17 03:20

http://codeforces.com/problemset/problem/702/B

给n个数,求有几对数能构成2的n次方(n<32)。

灵活使用Map。

#include <bits/stdc++.h>using namespace std;int n;int x;long long ans;map <int,int> m;int main(){    cin  >> n;    for (int i=0;i<n;i++){        cin >> x;        for (int i=0;i<31;i++){            ans+=m[(1<<i)-x];        }        m[x]++;    }    cout << ans << endl;}
原创粉丝点击