题目大意:
给定n个数,求任意两个数的GCD,有很多对,问最大值。
解题思路:
数据量太大不能枚举,我们可以选择枚举因子,这感觉就像这种题的套路,只要枚举的这个因子是某两个或以上的数的公因子,就记录,记录到最后就是最大值,这样的复杂度就是O(nlogn);
AC代码:
#include <map>
#include <set>
#include <stack>
#include <cmath>
#include <queue>
#include <bitset>
#include <string>
#include <vector>
#include <cstdio>
#include <cctype>
#include <fstream>
#include <cstdlib>
#include <sstream>
#include <cstring>
#include <iostream>
#include <algorithm>
#pragma comment(linker, "/STACK:1024000000,1024000000")
using namespace std;
//#define maxd 1010
#define lson l , m , rt << 1
#define rson m + 1 , r , rt << 1 | 1
#define mc(x, y) memcpy(x, y, sizeof(x))
#define ms(x,y) memset(x,y,sizeof(x))
#define rep(i,n) for(int i&