http://poj.org/problem?id=2769
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<bitset>
#include<iomanip>
using namespace std;
#define MAX 1000005
int num[ 100005 ] , judge[ MAX ] ;
int main()
{
int n , i , j , Case ;
scanf( "%d" ,&Case ) ;
while( Case-- )
{
scanf( "%d" , &n ) ;
for( i = 1 ; i <= n ; ++i )
{
scanf( "%d" , &num[ i ] ) ;
// cout << "aaaaaaaaaaaaaaaaaaaaa" <<endl ;
}
bool find ;
for( i = n ; ; ++i )
{
for( j = 0 ; j <= i ; ++j )
judge[ j ] = 0 ;
find = 1 ;
for( j = 1 ; j <= n ; ++j )
{
if( judge[ num[ j ] % i ] )
{
find = 0 ;
break ;
}
else
judge[ num[ j ] % i ] = 1 ;
}
if( find )
break ;
}
printf( "%d\n" , i ) ;
}
return 0 ;
}