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

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

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

Задание A

#include<iostream>
using namespace std;
int main()
{
    cout << sign(2) << endl;
    cout << sign(-3) << endl;
    cout << sign(0) << endl;
    cout << sign(1e-300) << endl;
    cout << sign(-1e300) << endl;
    cout << sign(0.0) << endl;
    cout << sign(123456789123456789LL) << endl;
    cout << sign(-123456789123456789LL) << endl;
    cout << sign(0LL) << endl;
    cout << sign((char)1) << endl;
    cout << sign((char)(-1)) << endl;
    cout << sign((char)0) << endl;
    return 0;
}

Задание B

#include<iostream>
using namespace std;
int main()
{
    cout << gcd(10, 12) << endl;
    cout << gcd(420196140727489673LL, 679891637638612258LL) << endl;
    cout << gcd('B', 'c') << endl;
    cout << gcd(999999999999999999LL, 2LL) << endl;
    cout << gcd(0, 1) << endl;
    cout << gcd(1, 0) << endl;
    for (int i = 1; i <= 100; ++i)
        for (int j = 1; j <= 100; ++j)
            cout << gcd(i, j) << endl;
    cout << gcd(333333333333333333LL, 99999999999999999LL) << endl;
    return 0;
}

Задание C

#include<iostream>
using namespace std;
int main()
{
    int ia = 1, ib = 2;
    Swap(ia, ib);
    cout << ia << " " << ib << endl;
    Swap(ia, ia);
    cout << ia << " " << ib << endl;
    long long lla = 1111111111111LL, llb = 222222222222222LL;
    Swap(lla, llb);
    cout << lla << " " << llb << endl;
    double fa = 1.5, fb = 1e100;
    Swap(fa, fb);
    cout << fa << " " << fb << endl;
    char ca = 'A', cb = 'B';
    Swap(ca, cb);
    cout << ca << " " << cb << endl;
    string sa = "Hello", sb = "World";
    Swap(sa, sb);
    cout << sa << " " << sb << endl;
    return 0;
}

Задание D

#include<cstdlib>
int main()
{
    vector<int> ia(1, 1);
    cout << Max(ia) << endl;
    vector<long long> lla(1, 123456789012345LL);
    cout << Max(lla) << endl;
    vector<double> fa(1, 1e300);
    cout << Max(fa) << endl;
    vector<char> ca(1, 'A');
    cout << Max(ca) << endl;
    vector<string> sa(1, "Hello");
    cout << Max(sa) << endl;
    srand(736283476);
    for (int i = 1; i < 1000; ++i)
    {
        ia.resize(i);
        for (int j = 0; j < ia.size(); ++j)
            ia[j] = rand();
        cout << Max(ia) << endl;
    }
}

Задание E

#include<cstdlib>
int main()
{
    vector<int> ia(1, 1);
    cout << ia << endl;
    cout << "Test1: " << ia << " *" << endl;
    ia.clear();
    cout << "Test2: " << ia << " **" << endl;
    ia.push_back(9999999);
    cerr << "Test3: " << ia << " ***" << endl;
    vector<long long> lla(1, 123456789012345LL);
    cout << lla << endl;
    vector<double> fa(1, 1e300);
    cout << fa << endl;
    vector<char> ca(1, 'A');
    cout << ca << endl;
    vector<string> sa(1, "Hello");
    cout << sa << endl;
    srand(827366829);
    for (int i = 1; i < 10; ++i)
    {
        ia.resize(i);
        for (int j = 0; j < ia.size(); ++j)
            ia[j] = rand() % 100;
        cout << ia << endl;
    }
}

Задание F

#include<iostream>
using namespace std;
int main()
{
    cout << max_int<short int>() << endl;
    cout << max_int<int>() << endl;
    cout << max_int<long int>() << endl;
    cout << max_int<long long int>() << endl;
}

Задание G

#include<iostream>
#include<cfloat>
using namespace std;
int main()
{
    if (eps<float>() == FLT_EPSILON &&
        eps<double>() == DBL_EPSILON &&
        eps<long double>() == LDBL_EPSILON)
        cout << "YES" << endl;
    else
        cout << "NO" << endl;
}