1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#include <iostream>

using namespace std;

int main()
{
    int n;
    long long wynik=1;
    cin>>n;
    int tab[n], tab2[n];
    for(int i=0; i<n; i++)
        cin>>tab[i];
    for(int i=0; i<n; i++)
    {
        tab2[tab[i]-1]=i;
    }
    int ma = tab2[n-1];
    int mi = tab2[n-1];
    int dl = 1;
    for(int i=n-2; i>=(n-1)/2; i--)
    {
        if(ma<tab2[i])
            ma = tab2[i];
        if(mi>tab2[i])
            mi = tab2[i];
        for(int z=0; z<2; z++)
        {
            int r = mi + dl;
            int l = ma - dl;
            if(r>=n)
                r=n-1;
            if(l<0)
                l=0;
            l+=dl;
            if(r>=l)
                wynik += r-l+1;
            dl++;
        }
    }
    cout<<2*n+1<<" "<<wynik;
    return 0;
}