代码:
#include <bits/stdc++.h>
using namespace std;
int dp[100010],dp2[100010],a[100010];
int main()
{
int n,ans = 0;
cin >> n;
for (int i = 1 ; i <= n ; i++)
{
cin >> a[i];
if (a[i] > a[i - 1]) dp[i] = dp[i - 1] + 1;
else dp[i] = 1;
}
for (int i = n ; i >= 1 ; i--)
{
if (a[i] < a[i + 1]) dp2[i] = dp2[i + 1] + 1;
else dp2[i] = 1;
}
for (int i = 1 ; i <= n ; i++)
{
if (a[i + 1] - a[i - 1] >= 2)
{
ans = max(ans , dp[i - 1] + dp2[i + 1] + 1);
}
else ans = max(ans , dp[i] + 1);
}
cout << ans << endl;
return 0;
}