码迷,mamicode.com
首页 > 其他好文 > 详细

【BZOJ-1441】Min 裴蜀定理 + 最大公约数

时间:2016-07-29 17:14:16      阅读:311      评论:0      收藏:0      [点我收藏+]

标签:

1441: Min

Time Limit: 5 Sec  Memory Limit: 64 MB
Submit: 471  Solved: 314
[Submit][Status][Discuss]

Description

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

Input

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

Output

S的最小值

Sample Input

2
4059 -1782

Sample Output

99

HINT

Source

Solution

裴蜀定理推广到N个数

具体证明可以类似2个数证明

Code

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
#include<cstring>
using namespace std;
int n,ans;
int Gcd(int a,int b) {if (b==0) return a; return Gcd(b,a%b);}
int main()
{
    scanf("%d",&n);
    for (int x,i=1; i<=n; i++)
        scanf("%d",&x),ans=Gcd(ans,x);
    printf("%d",abs(ans));
    return 0;
} 

 

【BZOJ-1441】Min 裴蜀定理 + 最大公约数

标签:

原文地址:http://www.cnblogs.com/DaD3zZ-Beyonder/p/5718979.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!