#include <stdexcept>
#include <iostream>
#include <vector>

int findMaxSum(const std::vector<int>& numbers)
{
    int mx = -1, cnt = 0;
    for (int i = 0; i < numbers.size(); i++) {
        if (mx < numbers[i]) mx = numbers[i];
    }
    int mx2 = -1;
    for (int i = 0; i < numbers.size(); i++) {
        if (mx2 < numbers[i]) {
            if (numbers[i] == mx && cnt == 1) {
                mx2 = numbers[i];
                return mx+mx2;
            }
            else if (numbers[i] == mx) {
                cnt = 1;
            }
            else {
                mx2 = numbers[i];
            }
        }
    }
    return mx+mx2;
}

#ifndef RunTests
int main()
{
    std::vector<int> v { 5, 9, 11, 11 };
    std::cout << findMaxSum(v);
}
#endif