打个表
#include<iostream>
#include<queue>
#include<vector>
#include<stack>
#include<algorithm>
#include<cmath>
#include<set>
using namespace std;
int n;
int a[100001]={0};
int main(){
cin>>n;
a[0]=0,a[1]=1;
int maxn[100010]={0};
maxn[0]=0,maxn[1]=1;
for(int i=2;i<=100000;i++){
if(i%2==0) a[i]=a[i/2];
else a[i]=a[i/2+1]+a[i/2];
if(a[i]>maxn[i-1]){
maxn[i]=a[i];
}
else maxn[i]=maxn[i-1];
}
while(n--){
int num;
scanf("%d",&num);
printf("%d\n",maxn[num]);
}
return 0;
}