Time Limit: 2000MS | Memory Limit: 65536K | |
Total Submissions: 9152 | Accepted: 3674 |
Description
Input
Output
Sample Input
Sample Output
Source
题目分析:
枚举当前的模,然后枚举每一个数,取模后的数进行标记,证明当前的模不可行,否则可行
#include <iostream>
#include <cstring>
#include <cstdio>
#include <algorithm>
#define MAX 1000007
#define N 307
using namespace std;
int t,n,cnt;
int a[N];
bool mark[MAX];
int main ( )
{
scanf ( "%d" , &t );
while ( t-- )
{
scanf ( "%d" , &n );
for ( int i = 1 ; i <= n ; i++ )
scanf ( "%d" , &a[i] );
int ans = 1;
while ( 1 )
{
bool flag = true;
for ( int i = 0 ; i <= ans ; i++ )
mark[i] = false;
for ( int i = 1 ; i <= n ; i++ )
if ( mark[a[i]%ans] )
{
flag = false;
break;
}
else mark[a[i]%ans] = true;
if ( flag ) break;
ans++;
}
printf ( "%d\n" , ans );
}
}