Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <algorithm>
- using namespace std;
- int v[100001];
- int main()
- {
- int n,j,i,ok = 1,cnt=0,mid,st,dr;
- cin >> n;
- for(i=0; i<n; i++)
- cin >> v[i];
- sort(v,v+n);
- for(i=0 ; i<n; i++)
- {
- for(int s = 1; s <= 1000000000; s = s * 2)
- {
- ok = 1;
- j = s - v[i];
- st = i+1, dr = n-1;
- while(st <= dr)
- {
- mid = (st + dr) / 2;
- if(v[mid] < j)
- st = mid + 1;
- else if(v[mid] > j)
- dr = mid - 1;
- else
- {
- ok = 0;
- break;
- }
- }
- if(ok == 0)
- cnt++;
- }
- }
- cout << cnt;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement