#include #include #include #include #include using namespace std; vector just; /*int maximum(int x,int y) { if(x>y) return x; else return y; }*/ int GCD(int A,int B) { if(A==0) return B; else return GCD(B%A,A); } int findGCD(vector arr,int n) { int result=arr[0]; for(int i=1;i arr, int n) { int sum=0; for(int i=0;i>n; int i,a[n],j; for(i=0;i>a[i]; for(i=0;i another; for(l=i;l<=r;l++) another.push_back(a[l]); gcd=findGCD(another,another.size()); sum=summation(another,another.size()); int maxi=*max_element(another.begin(),another.end()); just.push_back(gcd*(sum-maxi)); } } cout<<*max_element(just.begin(),just.end()); return 0; }