CCCPaste
#include 
using namespace std;
int v[1001] , cnt = 0;
void solve(int l, int r, int mini)
{
    /// Aflam minimul din secventa
    int mini2 = 2e9;
    for(int i = l;i<=r;i++)
        mini2 = min(mini2, v[i]);
    if(mini2 > mini)
    {
        cnt++;
        cout << l << ' ' << r << '\n';
    }
    /// Impartim in secvente ce nu contin mini2.
    if(mini2 > mini && l != r)
    {

       int st = l, dr = l;
       for(int i = l;i<=r;i++)
        {
        if(v[i] == mini2)
            {
                if(v[st]!=mini2)
                    solve(st,dr,mini2);
                st = i + 1;
            }
            else dr = i;
        }
        if(st<=dr)
            solve(st,dr,mini2);
    }
}
int main()
{
    int n ;
    cin >> n;
    for(int i = 1;i<=n;i++)
        cin>>v[i];
    solve(1,n,0);
    cout << cnt << '\n';
    return 0;
}