1. 程式人生 > >利用MAP存數據,防止超時,一開始用了兩個for 循環CodeForces - 702B

利用MAP存數據,防止超時,一開始用了兩個for 循環CodeForces - 702B

開始 def cout += -cp CI ace sin com

#include<bits/stdc++.h>

using namespace std;

map <int,int> M;

long long ans;

int main()
{
	int n,a;
	cin>>n;
	while(n--)
	{
		cin>>a;
		for(int i=0;i<=31;i++)
		    ans+=M[(1LL<<i)-a];
		M[a]++;
	}
	cout<<ans;
}

利用MAP存數據,防止超時,一開始用了兩個for 循環CodeForces - 702B