试了一下时间差距不大
/*for(int i=1;i<=n;i++) cin>>a[i]; for(int i=1;i<=n;i++) for(int j=i-(i&(-i))+1;j<=i;j++) c[i]+=a[j];*/ for(int i=1;i<=n;i++){ cin>>c[0]; add(i,c[0]); }