#include <bits/stdc++.h>
using namespace std;
long long a[100100],ans[100100];
int main()
{
long long i,T,n;
a[0]=ans[0]=0;
a[1]=ans[1]=1;
for(i=2;i<=100000;i++)
{
if(i&1)
a[i]=a[i>>1]+a[(i>>1)+1];
else
a[i]=a[i>>1];
ans[i]=max(ans[i-1],a[i]);
}
cin>>T;
while(T--)
{
scanf("%lld",&n);
printf("%lld\n",ans[n]);
}
}
51nod 1062 序列中最大的数
最新推荐文章于 2019-04-15 21:31:15 发布