zoukankan      html  css  js  c++  java
  • 洛谷 P4549 【模板】裴蜀定理

    题目

    题目描述

    给出n个数(A1...An)现求一组整数序列(X1...Xn)使得S=A1X1+...AnXn>0,且S的值最小

    输入格式

    第一行给出数字N,代表有N个数 下面一行给出N个数

    输出格式

    S的最小值

    输入输出样例

    输入 #1
    2
    4059 -1782
    
    输出 #1
    99

    说明/提示

    对于100%的数据,1 le n le 201n20,|x_i| le 100000xi100000

     

    分析

    • 首先,肯定是用这个定理啦

    • 这个定理是 ax+by=c c|gcd(a,b)
    • 所以两个数的最小整数解肯定是两数的gcd
    • 那么多个数
    • 就是多个数的gcd啦

     

    代码

     1 #include<iostream>
     2 using namespace std;
     3 int gcd(int a,int b)
     4 {
     5     if (b==0) return a;
     6     gcd(b,a%b);
     7 }
     8 int main ()
     9 {
    10     int n,ans=0;
    11     cin>>n;
    12     for (int i=1,x;i<=n;i++)
    13     {
    14         cin>>x;
    15         if (x<0)
    16           x=-x;
    17         ans=gcd(ans,x);
    18     } 
    19     cout<<ans;
    20 }
    为何要逼自己长大,去闯不该闯的荒唐
  • 相关阅读:
    docker使用
    接口自动化python3+requests+pytest/unitest
    Django--日常操作
    Redis
    散碎
    Django-- 类视图 Mixin 扩展类
    Django--类视图
    Django--响应
    python高级--正则表达式
    python-数据类型-字符串--常用操作
  • 原文地址:https://www.cnblogs.com/zjzjzj/p/11318913.html
Copyright © 2011-2022 走看看