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;
}
View Code

 

 
posted @ 2023-08-19 10:36  JMXZ  阅读(8)  评论(0)    收藏  举报