zoukankan      html  css  js  c++  java
  • cf988D

    集合的大小不会超过三

    #include<bits/stdc++.h>
    #define forn(i, n) for (int i = 0 ; i < int(n) ; i++)
    #define fore(i, s, t) for (int i = s ; i < (int)t ; i++)
    #define fi first
    #define se second
    #define all(x) x.begin(),x.end()
    #define pf2(x,y) printf("%d %d
    ",x,y)
    #define pf(x) printf("%d
    ",x)
    #define each(x) for(auto it:x)  cout<<it<<endl;
    #define pii pair<int,int>
    #define sc(x) scanf("%d",&x)
    using namespace std;
    typedef long long ll;
    const int maxn=2e5+5;
    const int maxm=2e5+5;
    const int inf=1e9;
    int main(){
    	int n;
    	cin>>n;
    	vector<int> a(n); 
    	for(int i=0;i<n;i++)
    		cin>>a[i];
    	sort(all(a));
    	vector<int> ans = {a[0]};
    	for(int i=0;i<n;i++){
    		for(int j=0;j<31;j++){
    			int lx=a[i]-(1<<j);
    			int rx=a[i]+(1<<j);
    			bool isl=binary_search(all(a),lx);
    			bool isr=binary_search(all(a),rx);
    			if(isl && isr && ans.size()<3) {
    				ans={lx,a[i],rx};
    			}
    			if(isl && ans.size()<2) 
    				ans={lx,a[i]};
    			if(isr && ans.size()<2)
    				ans={a[i],rx};
    		}
    	}
    	cout<<ans.size()<<endl;
    	for(auto it:ans)
    		cout<<it<<' ';
    	cout<<endl;
    }
    

      

  • 相关阅读:
    routing路由模式
    MQ的订阅模式
    RabbitMq中的消息应答与持久化
    work工作消息队列Round-robin与Fair dispatch
    040 关于hive元数据的解析
    simple简单消息队列
    用户设置与virtual host配置
    Mq的介绍
    字典
    元组Tuple
  • 原文地址:https://www.cnblogs.com/033000-/p/12397460.html
Copyright © 2011-2022 走看看