반응형
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 |