Submission #436081

#TimeUsernameProblemLanguageResultExecution timeMemory
436081Lam_lai_cuoc_doiGap (APIO16_gap)C++17
Compilation error
0 ms0 KiB
#include <bits/stdc++.h>

using namespace std;
using ll = long long;
using ld = long double;
using ull = unsigned long long;

constexpr bool typetest = 0;
constexpr int N = 1e6 + 5;

long long findGap(int t, int n)
{
    if (t == 1)
    {
        vector<int> a(n);
        ll l = 0, r = 1e18;

        for (int i = 0; i <= n / 2; ++i)
        {
            MinMax(l, r, &l, &r);
            a[i] = n;
            a[n - 1 - i] = r;
            ++l;
            --r;
        }

        ll ans(0);
        for (int i = 0; i < n - 1; ++i)
            ans = max(ans, a[i + 1] - a[i]);
        return ans;
    }
    else
    {
        ll l = 0, r = 1e18;
        MinMax(l, r, &l, &r);
        vector<int> a;
        a.reserve(n);

        ll x = l, y = r, q = (r - l - 1) % (n - 1);

        for (int i = 1; i <= n - 1; ++i)
        {
            ll v = (y - z - 1) / (n - 1) + (q > 0);
            --q;

            l = r + 1;
            r = l + v - 1;
            ll e, f;

            MinMax(l, r, &e, &f);

            if (e != -1)
            {
                a.emplace_back(e);
                a.emplace_back(f);
            }
        }

        a.emplace_back(x);
        a.emplace_back(y);

        sort(a.begin(), a.end());

        ll ans(0);
        for (int i = 0; i < (int)a.size() - 1; ++i)
            ans = max(ans, a[i + 1] - a[i]);
        return ans;
    }
}

Compilation message (stderr)

gap.cpp: In function 'long long int findGap(int, int)':
gap.cpp:20:13: error: 'MinMax' was not declared in this scope
   20 |             MinMax(l, r, &l, &r);
      |             ^~~~~~
gap.cpp:29:43: error: no matching function for call to 'max(ll&, __gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type)'
   29 |             ans = max(ans, a[i + 1] - a[i]);
      |                                           ^
In file included from /usr/include/c++/10/bits/specfun.h:45,
                 from /usr/include/c++/10/cmath:1927,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:41,
                 from gap.cpp:1:
/usr/include/c++/10/bits/stl_algobase.h:254:5: note: candidate: 'template<class _Tp> constexpr const _Tp& std::max(const _Tp&, const _Tp&)'
  254 |     max(const _Tp& __a, const _Tp& __b)
      |     ^~~
/usr/include/c++/10/bits/stl_algobase.h:254:5: note:   template argument deduction/substitution failed:
gap.cpp:29:43: note:   deduced conflicting types for parameter 'const _Tp' ('long long int' and '__gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type' {aka 'int'})
   29 |             ans = max(ans, a[i + 1] - a[i]);
      |                                           ^
In file included from /usr/include/c++/10/bits/specfun.h:45,
                 from /usr/include/c++/10/cmath:1927,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:41,
                 from gap.cpp:1:
/usr/include/c++/10/bits/stl_algobase.h:300:5: note: candidate: 'template<class _Tp, class _Compare> constexpr const _Tp& std::max(const _Tp&, const _Tp&, _Compare)'
  300 |     max(const _Tp& __a, const _Tp& __b, _Compare __comp)
      |     ^~~
/usr/include/c++/10/bits/stl_algobase.h:300:5: note:   template argument deduction/substitution failed:
gap.cpp:29:43: note:   deduced conflicting types for parameter 'const _Tp' ('long long int' and '__gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type' {aka 'int'})
   29 |             ans = max(ans, a[i + 1] - a[i]);
      |                                           ^
In file included from /usr/include/c++/10/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:65,
                 from gap.cpp:1:
/usr/include/c++/10/bits/stl_algo.h:3480:5: note: candidate: 'template<class _Tp> constexpr _Tp std::max(std::initializer_list<_Tp>)'
 3480 |     max(initializer_list<_Tp> __l)
      |     ^~~
/usr/include/c++/10/bits/stl_algo.h:3480:5: note:   template argument deduction/substitution failed:
gap.cpp:29:43: note:   mismatched types 'std::initializer_list<_Tp>' and 'long long int'
   29 |             ans = max(ans, a[i + 1] - a[i]);
      |                                           ^
In file included from /usr/include/c++/10/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:65,
                 from gap.cpp:1:
/usr/include/c++/10/bits/stl_algo.h:3486:5: note: candidate: 'template<class _Tp, class _Compare> constexpr _Tp std::max(std::initializer_list<_Tp>, _Compare)'
 3486 |     max(initializer_list<_Tp> __l, _Compare __comp)
      |     ^~~
/usr/include/c++/10/bits/stl_algo.h:3486:5: note:   template argument deduction/substitution failed:
gap.cpp:29:43: note:   mismatched types 'std::initializer_list<_Tp>' and 'long long int'
   29 |             ans = max(ans, a[i + 1] - a[i]);
      |                                           ^
gap.cpp:35:9: error: 'MinMax' was not declared in this scope
   35 |         MinMax(l, r, &l, &r);
      |         ^~~~~~
gap.cpp:43:25: error: 'z' was not declared in this scope
   43 |             ll v = (y - z - 1) / (n - 1) + (q > 0);
      |                         ^
gap.cpp:66:43: error: no matching function for call to 'max(ll&, __gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type)'
   66 |             ans = max(ans, a[i + 1] - a[i]);
      |                                           ^
In file included from /usr/include/c++/10/bits/specfun.h:45,
                 from /usr/include/c++/10/cmath:1927,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:41,
                 from gap.cpp:1:
/usr/include/c++/10/bits/stl_algobase.h:254:5: note: candidate: 'template<class _Tp> constexpr const _Tp& std::max(const _Tp&, const _Tp&)'
  254 |     max(const _Tp& __a, const _Tp& __b)
      |     ^~~
/usr/include/c++/10/bits/stl_algobase.h:254:5: note:   template argument deduction/substitution failed:
gap.cpp:66:43: note:   deduced conflicting types for parameter 'const _Tp' ('long long int' and '__gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type' {aka 'int'})
   66 |             ans = max(ans, a[i + 1] - a[i]);
      |                                           ^
In file included from /usr/include/c++/10/bits/specfun.h:45,
                 from /usr/include/c++/10/cmath:1927,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:41,
                 from gap.cpp:1:
/usr/include/c++/10/bits/stl_algobase.h:300:5: note: candidate: 'template<class _Tp, class _Compare> constexpr const _Tp& std::max(const _Tp&, const _Tp&, _Compare)'
  300 |     max(const _Tp& __a, const _Tp& __b, _Compare __comp)
      |     ^~~
/usr/include/c++/10/bits/stl_algobase.h:300:5: note:   template argument deduction/substitution failed:
gap.cpp:66:43: note:   deduced conflicting types for parameter 'const _Tp' ('long long int' and '__gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type' {aka 'int'})
   66 |             ans = max(ans, a[i + 1] - a[i]);
      |                                           ^
In file included from /usr/include/c++/10/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:65,
                 from gap.cpp:1:
/usr/include/c++/10/bits/stl_algo.h:3480:5: note: candidate: 'template<class _Tp> constexpr _Tp std::max(std::initializer_list<_Tp>)'
 3480 |     max(initializer_list<_Tp> __l)
      |     ^~~
/usr/include/c++/10/bits/stl_algo.h:3480:5: note:   template argument deduction/substitution failed:
gap.cpp:66:43: note:   mismatched types 'std::initializer_list<_Tp>' and 'long long int'
   66 |             ans = max(ans, a[i + 1] - a[i]);
      |                                           ^
In file included from /usr/include/c++/10/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:65,
                 from gap.cpp:1:
/usr/include/c++/10/bits/stl_algo.h:3486:5: note: candidate: 'template<class _Tp, class _Compare> constexpr _Tp std::max(std::initializer_list<_Tp>, _Compare)'
 3486 |     max(initializer_list<_Tp> __l, _Compare __comp)
      |     ^~~
/usr/include/c++/10/bits/stl_algo.h:3486:5: note:   template argument deduction/substitution failed:
gap.cpp:66:43: note:   mismatched types 'std::initializer_list<_Tp>' and 'long long int'
   66 |             ans = max(ans, a[i + 1] - a[i]);
      |                                           ^