不懂这个怎么整出来的。。。
虽然在纸上画了画,能懂个意思了,但还是心里不踏实u。
#include <bits/stdc++.h>
#include <set>
using namespace std;
typedef long long int ll;
int main()
{
set<ll>s;
int n;
cin>>n;
while(n--){
ll a;
cin>>a;
s.insert(a);
}
for(auto &t:s){
for(ll i=1;i<1e10;i*=2){
if(s.find(t+i)!=s.end()&&s.find(t+2*i)!=s.end()){
cout<<"3"<<endl;
cout<<t<<" "<<t+i<<" "<<t+2*i<<endl;
return 0;
}
}
}
for(auto &t:s){
for(ll i=1;i<1e10;i*=2){
if(s.find(t+i)!=s.end()){
cout<<"2"<<endl;
cout<<t<<" "<<t+i<<endl;
return 0;
}
}
}
cout<<"1"<<endl;
cout<<*s.begin()<<endl;
return 0;
}