基本照抄答案了,还是不对,哪里出问题了
#include<bits/stdc++.h>
using namespace std;
int arr[] = { 0 };
long long M(int l, int r)
{
if (abs(l - r) > 5) {
int mid = (l + r) / 2;
return M(l, mid) % max(M(mid + 1, r), 7ll) + arr[mid] - 1;
}
else {
int max1 = 0;
for (int i = l; i <= r; i++) {
max1 = max(max1, arr[i]);
}
return max1;
}
}
int main() {
int n;
cin >> n;
for (int i = 1; i <= n; i++) {
cin >> arr[i];
}
cout << M(1, n);
return 0;
}