#include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; typedef unsigned long long ull; //#define min(a,b) (a>b?b:a) //#define max(a,b) (a>b?a:b) #define mem(a,num) memset(a,num,sizeof(a)) #define inf(a,n) fill(a,a+n,0x3f3f3f3f) struct M { int m; int i,j; M() { m=i=j=-1; } }m1,m2,m3; int a[100005]; int main() { int T,n; cin>>T; while(T--){ scanf("%d",&n); int tmp; m1.m=m2.m=m3.m=-1; for(int i=0;i0){ tmp=abs(a[i]-a[i-1]); if(tmp>=m1.m){ m3=m2; m2=m1; m1.m=tmp; m1.i=i-1; m1.j=i; } else if(tmp>=m2.m){ m3=m2; m2.m=tmp; m2.i=i-1; m2.j=i; } else if(tmp>=m3.m){ m3.m=tmp; m3.i=i-1; m3.j=i; } } } ll ans=0; if(m1.i!=0){ ans+=m1.m; } else{ ans+=m2.m; } for(int i=1;i