已知z=|a-b|+|a-c|+|b-c|,且a<b<c,则z=2(c-a),要让z最大,则要让c最大且a最小且满足三角形三边法则,那么我们可以推出c最大为(n-1)/2,且在b=c-1时有最小值a
当然,如果无法满足记得输出0(绝对不是在水字数)
#include <bits/stdc++.h>
using namespace std;
int main(){
    int t;
    cin>>t;
    while(t--)
    {
        long long n,s,a=0,b=0,c,t;
        cin>>n;
         
         
        c=(n-1)/2;
        t=n-c;
        for(long long i=2;i<=t/2;i++)
            if(i+c>(t-i)&&t-i+c>i&&i!=t-i&&i!=c&&t-i!=c)
            {a=i;b=t-i;break;}
        if(a==0)
            {
            cout<<"0"<<endl;
            continue;
        }
        else
             s=abs(a-b)+abs(a-c)+abs(b-c);
         
        cout<<s<<endl;
    }
}