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
#include<bits/stdc++.h>
using namespace std;
int wys[1000010];
int tab[1000010];
int main()
{
	int n, i, l, r;
	scanf("%d", &n);
	for(i=1;i<=n;i++)
	{
		scanf("%d", &tab[i]);
		wys[tab[i]]=i;
	}
	l=wys[n];
	r=wys[n];
	long long wynik=0;
	for(i=1;i<=n;i++)
	{
		l=min(l, wys[n-i/2]);
		r=max(r, wys[n-i/2]);
		int a = max(1, r-i+1);
		int b = min(n, l+i-1);
		wynik+=max(0, (b-i+1)-a+1);
		//printf("%d %d  %d %d\n", l, r, a, b);

	}
	printf("%d %lld", 2*n+1, wynik);
	
}
//1 2 3 4 5
// n-3/2
// n-2/2