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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
//author Karolina Miśkiewicz
#include<bits/stdc++.h>
using namespace std;
int tab[1000000+7];

int main()
{
    
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    int n, max=0, il=0;
    cin >> n;
    set<int>::iterator it;
    for(int i = 0; i < n; i++)
    {
        int a;
        cin >> a;
        tab[i] = a;
    }

    if(n == 1)
    {
        cout << 2*n + 1 << " " << 1;
    }
    else
    {
        for(int i = 0; i < n; i++)
        {
            set<int> s;
            for(int j = i; j < n; j++)
            {
                s.insert(tab[j]);
                int sre = 0;
                it = s.begin();
                if(s.size()%2 == 1)
                {
                    advance(it,((s.size()-1)/2));
                    sre = *it*2;
                }
                else
                {
                    advance(it,s.size()/2-1);
                    sre = *it;
                    it ++;
                    sre += *it;
                }

                if(sre + s.size() > max)
                {
                    max = sre + s.size();
                    il = 1;
                }
                else if(sre + s.size() == max)
                    il++;

            }
        }
        cout << max << " " << il;
    }
}