国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

bzoj 1441: Min (gcd+裴蜀定理)

2019-11-08 03:27:19
字體:
供稿:網(wǎng)友

1441: Min

Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 520  Solved: 342[Submit][Status][Discuss]

Description

給出n個數(shù)(A1...An)現(xiàn)求一組整數(shù)序列(X1...Xn)使得S=A1*X1+...An*Xn>0,且S的值最小

Input

第一行給出數(shù)字N,代表有N個數(shù) 下面一行給出N個數(shù)

Output

S的最小值

Sample Input

24059 -1782

Sample Output

99

HINT

Source

[Submit][Status][Discuss]


題解:gcd+裴蜀定理

gcd(a,b)就是最小的可以表示成ax+b*y的正整數(shù)。

所以我們直接對于所有讀入的a求gcd即可

因為x,y的正負(fù)是不確定的,所有完全可以用x,y來實現(xiàn)a,b的正負(fù),所以直接忽略a的符號即可。

#include<iostream>#include<cstdio>#include<algorithm>#include<cmath>using namespace std;int n;int gcd(int x,int y){	int r;	while (y) {		r=x%y;		x=y; y=r;	}	return x;}int main(){	freopen("a.in","r",stdin);	scanf("%d",&n);	int a1,a2; 	scanf("%d",&a1); 	if (a1<0) a1=-a1;	for (int i=2;i<=n;i++){		scanf("%d",&a2); 		if (a2<0) a2=-a2;		a1=gcd(a1,a2);	}	PRintf("%d/n",a1);}


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 西城区| 平山县| 高邮市| 新化县| 肇东市| 福泉市| 唐山市| 南安市| 高青县| 新田县| 漳州市| 兴隆县| 黔西| 施秉县| 岗巴县| 亚东县| 马山县| 安吉县| 鄯善县| 怀化市| 金秀| 大冶市| 思南县| 漳平市| 大新县| 临夏市| 收藏| 伊春市| 临海市| 格尔木市| 仁布县| 锡林浩特市| 原平市| 武夷山市| 蕲春县| 成武县| 湘潭县| 怀化市| 东丰县| 灵寿县| 渝北区|