思路:暴力枚举

#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
const int N=1e6-1;
int SIN[305],maxn;
bool vis[N+1];
int main()
{
    int t;
    scanf("%d",&t);
    while(t--)
    {
        int g;
        scanf("%d",&g);
        maxn=0;
        for(int i=1;i<=g;i++)
        {
            scanf("%d",&SIN[i]);
            if(SIN[i]>maxn)
                maxn=SIN[i];
        }
        for(int i=g;i<=maxn+1;i++)//枚举到maxn+1,因为0和maxn%i的结果相同
        {
            fill(vis,vis+i+1,false);//前闭后开,用memset,会超时
            int f=1;
            for(int j=1;j<=g;j++)
            {
                int tmp=SIN[j]%i;
                if(vis[tmp])
                {
                    f=0;
                    break;
                }
                else
                    vis[tmp]=true;
            }
            if(f==1)
            {
                printf("%d\n",i);
                break;
            }
        }
    }
    return 0;
}