#include "bits/stdc++.h"
using namespace std;
#define int long long
signed main() {
int n, m;
cin >> n >> m;
vector <int> a(m + 1);
for (int i = 1; i <= m; i ++) cin >> a[i];
vector <vector <int>> dp(m + 1, vector <int> (4));
// max ind min ind
int ans = -1;
dp[1] = {a[1], 1, a[1], 1};
for (int i = 2; i <= m; i ++) {
dp[i] = {a[i], i, a[i], i};
if (dp[i][0] < dp[i - 1][0]) dp[i][0] = dp[i - 1][0], dp[i][1] = dp[i - 1][1];
if (dp[i][2] > dp[i - 1][2]) dp[i][2] = dp[i - 1][2], dp[i][3] = dp[i - 1][3];
// cout << dp[i][0] << ' ' << dp[i][1] << ' ' << dp[i][2] << ' ' << dp[i][3] << endl;
ans = max({ans, dp[i][0] - a[i] - i + dp[i][1] - 1, a[i] - dp[i][2] - i + dp[i][3] - 1, dp[i][0] - dp[i][2] - abs(dp[i][1] - dp[i][3]) - 1});
}
cout << ans << endl;
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |