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
#include <bits/stdc++.h>

using namespace std;

int t[1000009];
pair<int,int>p[1000009];
int main()
{
    int n,m=0;
    int w=2;
    cin>>n;
    for(int i=0;i<n;++i){
        cin>>t[i];
        m=max(m,t[i]);
        p[i].first=t[i];
        p[i].second=i;
    }
    int med=2*m+1;
    sort(p,p+n);
    int mi,mx;
    mi=p[n-1].second;
    mx=p[n-1].second;
    for(int i=1;i<n-2;++i){
        mi=min(mi,p[n-i-1].second);
        mx=max(mx,p[n-i-1].second);
      //  cout<<mx<<' '<<mi<<' '<<i+2<<endl;
        if(mx-mi+1==i+2)w++;
        if(mx-mi+1==i+1&&mi>0)w++;
        if(mx-mi+1==i+1&&mx<n-1)w++;
        if(mx-mi+1==i+1&&i%2==1&&mi>0&&mx<n-1)w++;
    }
    cout<<med<<' '<<w;
    return 0;
}