Как тестируются задачи

Вам нужно написать программу, которая содержит только требуемую функцию (можно несколько функций, если одна функция будет вызывать другую). Программа не должна содержать никакого кода вне функций.

В тестирующей системе после вашей программы будет добавлен следующий код, после чего решение будет проверено на тестах.

Задание A

int main()
{
    int n;
    cin >> n;
    vector <int> a(n);
    for (int i = 0; i < n; ++i)
        cin >> a[i];
    cout << (is_ascending(a) ? "YES" : "NO") << endl;
    return 0;
}

Задание B

int main()
{
    int n, k, key;
    cin >> n;
    vector <int> a(n);
    for (int i = 0; i < n; ++i)
        cin >> a[i];
    cin >> key >> k;
    cout << kth_appearance(a, key, k) << endl;
    return 0;
}

Задание C

int main()
{
    int n;
    cin >> n;
    vector <int> a(n);
    for (int i = 0; i < n; ++i)
        cin >> a[i];
    selection_sort(a);
    for (int i = 0; i < n; ++i)
        cout << a[i] << " ";
    cout << endl;
    return 0;
}

Задание D

int main()
{
    int n;
    cin >> n;
    vector <int> a(n);
    for (int i = 0; i < n; ++i)
        cin >> a[i];
    insertion_sort(a);
    for (int i = 0; i < n; ++i)
        cout << a[i] << " ";
    cout << endl;
    return 0;
}

Задание E

int main()
{
    int n;
    cin >> n;
    vector <int> a(n);
    for (int i = 0; i < n; ++i)
        cin >> a[i];
    bubble_sort(a);
    for (int i = 0; i < n; ++i)
        cout << a[i] << " ";
    cout << endl;
    return 0;
}

Задание S

int main()
{
    int n;
    cin >> n;
    vector <int> a(n);
    for (int i = 0; i < n; ++i)
        cin >> a[i];
    cin >> n;
    vector <int> b(n);
    for (int i = 0; i < n; ++i)
        cin >> b[i];
    vector <int> res;
    merge(a, b, res);
    for (int i = 0; i < res.size(); ++i)
        cout << res[i] << " ";
    cout << endl;
    return 0;
}

Задание T

int main()
{
    int n;
    cin >> n;
    vector <int> a(n);
    for (int i = 0; i < n; ++i)
        cin >> a[i];
    cin >> n;
    vector <int> b(n);
    for (int i = 0; i < n; ++i)
        cin >> b[i];
    vector <int> res;
    intersection(a, b, res);
    for (int i = 0; i < res.size(); ++i)
        cout << res[i] << " ";
    cout << endl;
    return 0;
}

Задание U

int main()
{
    int n;
    cin >> n;
    vector <int> a(n);
    for (int i = 0; i < n; ++i)
        cin >> a[i];
    merge_sort(a);
    for (int i = 0; i < n; ++i)
        cout << a[i] << " ";
    cout << endl;
    return 0;
}