题目描述
给出n个数(A1…An)现求一组整数序列(X1…Xn)使得S=A1X1+…AnXn>0,且S的值最小
输入输出格式
输入格式:
第一行给出数字N,代表有N个数 下面一行给出N个数
输出格式:
S的最小值
输入输出样例
输入样例#1:
2
4059 -1782
输出样例#1:
99
说明
对于100%的数据,1≤n≤20∣xi∣≤100000
#include<iostream>
using namespace std;
int gcd(int a,int b){
if(b==0) return a;
return gcd(b,a%b);
}
int main(){
int n=0;
int ret=0;
cin>>n;
for(int i=1;i<=n;i++){
int temp=0;cin>>temp;
if(temp<0) temp=-temp;
ret=gcd(temp,ret);
}
cout<<ret<<endl;
return 0;
}

博客给出一个算法问题,即给定n个数(A1…An),求一组整数序列(X1…Xn),使S=A1X1+…AnXn>0且S值最小。还给出了输入输出格式及样例,输入为数字N和N个数,输出为S的最小值,适用于信息技术领域的算法求解。
856

被折叠的 条评论
为什么被折叠?



