求助,0分,样例全过了
查看原帖
求助,0分,样例全过了
665236
He_JJ楼主2023/8/3 21:49

求求大佬们看一下吧 qwq~ 用了两个set,但不知道怎么过不了。

#include<iostream>
#include<set>
#include<cmath>
using namespace std;
typedef long long ll;
ll x[100];
ll a,b;
int main(){
    for(int i=1;i<35;i++){
        x[i]=pow(2,i);
    }
    multiset<ll>s;
    multiset<ll>q;
    cin>>a;
    for(ll i=0;i<a;i++){
        cin>>b;
        bool cnt=false;
        for(ll j=0;j<35;j++){
            if(s.count(x[j]-b)){
                q.insert(x[j]-b);
                q.insert(b);
                s.erase(x[j]-b);
                cnt=true;
                break;
            }
            if(q.count(x[j]-b)){
                q.insert(b);
                cnt=true;
                break;
            }
        }
        if(!cnt){
            s.insert(b);
            cnt=false;
        }
    }
    cout<<s.size()<<endl;
    return 0;
}
2023/8/3 21:49
加载中...