复制代码
 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 using LL = long long;
 4 int main()
 5 {
 6     int T,n;
 7     scanf("%d",&T);
 8     while(T--)
 9     {
10         scanf("%d",&n);
11         n-=3;
12         LL sum=(LL)(n+1)*(n+2)/2;
13         int ans1=n%3==0?1:0;//a=b=c
14         int ans2=n/3+1-ans1;//a=b<c
15         int ans3;
16         if(n&1)ans3=(n/3+1)/2-ans1;
17         else ans3=n/3+1-(n/3+1)/2-ans1;//a<b=c
18         sum-=(ans1+3ll*ans2+3ll*ans3);
19         sum/=6;//a<b<c 
20         sum=sum+ans1+ans2+ans3;
21         printf("%lld\n",sum);
22     } 
23     return 0;
24 }
复制代码