#include #include #include #include #include #include #include long int calval(int *a,int i,int j); int calgcd(int a,int b) {if(a==0) return b; return(b%a,a); } long int maximumValue(int a_size, int* b) // Return the maximum value of f among all subsegments [l..r]. {long int i1=0,j1=0; long int m=0,res; for(i1=0;i1m) m=res; } } return(m/8); } long int calval(int *a,int i,int j) {int res,s=0,max,k; max=a[i]; res=a[i]; s=s+a[i]; for(k=i;k<=j;k++) {res=calgcd(a[k],res); s=s+a[k]; if(a[k]>max) max=a[k]; } return(res*(s-max)); } int main() { int n; scanf("%i", &n); int *a = malloc(sizeof(int) * n); for (int a_i = 0; a_i < n; a_i++) { scanf("%i",&a[a_i]); } long int result = maximumValue(n, a); printf("%ld\n", result); return 0; }