Luogu 4549
-
裴蜀定理:
a x + b y = c , x ∈ Z ∗ , y ∈ Z ∗ , g c d ( a , b ) ∣ c ax+by=c,x\in \mathrm {Z^{*}},y\in \mathrm {Z^{*}},gcd(a,b)\mid{c} ax+by=c,x∈Z∗,y∈Z∗,gcd(a,b)∣c -
裴蜀定理针对是两个变量,显然可以推广到多个变量,则 S S S最小值为 n n n个数的 g c d gcd gcd
Code:
#include <bits/stdc++.h>
using namespace std;
inline void init_() {
freopen("a.txt","r",stdin);
}
int gcd_(int a,int b) {
if(!b) return a;
return gcd_(b,a%b);
}
void readda_() {
int n,ans=0;
scanf("%d",&n);
int x;
for(int i=1;i<=n;++i) {
scanf("%d",&x);
if(x<0) x=-x;
ans=gcd_(x,ans);
}
printf("%d",ans);
}
int main() {
init_();
readda_();
return 0;
}