3
int minSumOfLengths(vector<int> &arr, int target) {6
vector<int> p(n), s(n);9
for (int x = 0; x < n; x++) {11
if (currsum == target)12
ans = min(ans, x + 1);14
if (prefix.find(currsum - target) != prefix.end()) {15
ans = min(ans, x - prefix[currsum - target]);24
for (int x = n - 1; x >= 0; x--) {26
if (currsum == target)27
ans = min(ans, n - x);29
if (suffix.find(currsum - target) != suffix.end()) {30
ans = min(ans, suffix[currsum - target] - x);37
for (int x = 1; x < n; x++) {38
if ((long long)p[x - 1] + s[x] < INT_MAX) ans = min(ans, p[x - 1] + s[x]);40
if (ans == INT_MAX) return -1;