-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMaxDoubleSliceSum.cpp
More file actions
38 lines (32 loc) · 912 Bytes
/
MaxDoubleSliceSum.cpp
File metadata and controls
38 lines (32 loc) · 912 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
// you can use includes, for example:
#include <algorithm>
#include <math.h>
#include <iostream>
#include <limits.h>
#include <numeric>
#include <climits>
#include <stdlib.h>
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
int solution(vector<int> &A) {
// write your code in C++14 (g++ 6.2.0)
int maxdoubleslice = INT_MIN;
int xy;
int yz;
for(int x = 0;x < A.size();x++)
{
for(int y = x+1;y < A.size();y++)
{
xy = std::accumulate((A.begin() + (x + 1)), (A.begin() + y), 0);
for(int z = y+1;z<A.size();z++)
{
yz = std::accumulate((A.begin() + (y + 1)), (A.begin() + z), 0);
if(xy + yz > maxdoubleslice)
{
maxdoubleslice = xy + yz;
}
}
}
}
return maxdoubleslice;
}