본문 바로가기

코테

[Codility] MaxDoubleSliceSum C++

반응형
int left_max[100000]={0,};
int right_max[100000]={0,};
int result = 0;

int solution(vector<int> &A) {
    // // write your code in C++14 (g++ 6.2.0)
    if(A.size()==3) return 0;
    for(int i=1; i<A.size()-1; i++)
        left_max[i] = max(left_max[i-1]+A[i], 0);
    for(int i = A.size()-1; i > 1; i--)
        right_max[i - 1] = max(right_max[i]+A[i-1], 0);
    for(int i = 1; i < A.size()-1; i++)
        result = max(left_max[i-1] + right_max[i+1], result);
    return result;
}

어렵네

 

반응형

'코테' 카테고리의 다른 글

[Codility] MaxNonoverlappingSegments C++  (0) 2021.12.31
[Codility] NumberSolitaire C++  (0) 2021.12.30
[Codility] MaxProfit C++  (0) 2021.12.30
[Codility] Dominator C++  (0) 2021.12.30
[Codility] StoneWall C++  (0) 2021.12.30