#include #include #include #include #include #include #include long int gcd(long int i, long int j, long int *arr) { long int a, max=0,k; for(a=arr[i]; a<=arr[i] && a<=arr[j]; ++a) { if(arr[a]<0) arr[a]*=(-1); k=arr[a]; if(a%arr[i]==0 && a%arr[j]==0) max=a; if(k<0) arr[a]*=(-1); } return max; } int main() { long int n,g,max,sum=0,i,j,a,f,max1; scanf("%ld",&n); long int *arr=(long int*)malloc(sizeof(long int)*n); for(i=0; imax) max=arr[a]; sum+=arr[a];} g=gcd(i,j,arr); f=g*(sum-max); if(f>max1) max1=f; } } printf("%ld",max1); }