裴蜀定理

裴蜀定理,又名贝祖定理。

对于整数 \((a,b)\),一定存在整数 \((x,y)\),满足 \(ax+by=gcd(a,b)\).

推广到多个式子也一样成立。

P4549 【模板】裴蜀定理

给定一个序列 \(a_i\),构造一个等长的序列 \(x_i\),使得 \(\sum_{i=1}^{n}{a_i*x_i}\) 最小。

序列 \(a\) 所有元素的最大公约数就是答案。

inline int gcd(int x,int y){if(!y)return x;while(y^=x^=y^=x%=y);return x;}
signed main(){
    int n;
    cin>>n;
    int ans=0;
    for(int i=1;i<=n;i++){
        int x;
        cin>>x;
        x=abs(x);
        ans=gcd(ans,x);
    }
    cout<<ans;
    return 0;
}
posted @ 2022-11-19 20:54  半步蒟蒻  阅读(249)  评论(0)    收藏  举报