CF1828B Permutation Swap

#include<cstdio> #include<iostream> #include<algorithm> #include<queue> #include<ctime> #include<cmath> #include<bits/stdc++.h> using namespace std; const int maxn=2e5+10 ; int n,a[maxn],ans; int gcd(int a,int b){ return b==0? a:gcd(b,a%b); } int main() { ios::sync_with_stdio(false); int T;cin>>T; while(T--) { ans=0; cin>>n; for(int i=1;i<=n;i++){ cin>>a[i]; a[i]=abs(a[i]-i); ans=max(a[i],ans);//min } for(int i=1;i<=n;i++) ans=gcd(ans,a[i]); cout<<ans<<'\n'; } return 0; }