Lang:G++
Edit1234567891011121314151617181920212223242526#include <iostream>#include <algorithm>using namespace std;int arr[100000];int ass[100000];int main(){int N, begin, end;cin >> N;for (int i = 0; i < N; i++) cin >> arr[i];ass[0] = arr[0];for (int i = 1; i < N; i++)ass[i] = max(ass[i - 1], arr[i]);end = N - 1;while (ass[end] == arr[end]) end--;ass[N - 1] = arr[N - 1];for (int i = N - 2; i >= 0; i--)ass[i] = min(ass[i + 1], arr[i]);begin = 0;while (ass[begin] == arr[begin]) begin++;cout << end - begin + 1 << endl;return 0;}