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
#include<bits/stdc++.h>
using namespace std;
typedef long long int ll;

const int N = 1000007;

int tab[N];

int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    int n, a, maks=0, mini=10000007;
    ll wynik=0;
    cin>>n;
    for(int i=1; i<=n; i++) {
        cin>>a;
        tab[a]=i;
    }
    maks=tab[n];
    mini=tab[n];
    for(int i=n; i>0; i--) {
        if((n-i+1)%2==0) {
            maks=max(maks, tab[(n+i)/2]);
            mini=min(mini, tab[(n+i)/2]);
        }
            int p=max(1, maks-(n-i+1)+1), k=min(n, mini+(n-i+1)-1);
            wynik+=max(k-p+1-(n-i), 0);
    }
    cout<<2*n+1<<" "<<wynik;
}