Bitmasking Soln


#1

int Solution::maxArr(vector<int> &A) {

    int n=A.size();

    vector<int> B(n,0);

    for(int i=0;i<n;i++) B[i]=i;

    int ans=0;

    for(int m=0;m<4;m++){

        int maxS=INT_MIN;

        int minS=INT_MAX;    

        for(int i=0;i<n;i++){

            int sum1=0;  

            if(m>>0 & 1) sum1=sum1+A[i];

            else sum1=sum1-A[i];

            if(m>>1 & 1) sum1=sum1+i;

            else sum1=sum1-i;

            maxS=max(maxS,sum1);

            minS=min(minS,sum1);

        }

        ans=max(ans,maxS-minS);

    }

    return ans;

}