Language: C++

#include <bits/stdc++.h>
#define N 100005

using namespace std;

int n;
long long maxup[N] , maxdown[N] , minup[N] , mindown[N];

struct Interval
{
    int l , r;
}a[N];

bool inline Compare(Interval a , Interval b)
{
    return a.r < b.r;
}

int main()
{
    int i;

    cin >> n;

    for(i = 1 ; i <= n ; i++)
        cin >> a[i].l >> a[i].r;

    sort(a + 1 , a + n + 1 , Compare);

    minup[0] = 1000000000;

    for(i = 1 ; i <= n ; i++)
    {
        maxup[i] = max(maxup[i - 1] , a[i].l);
        minup[i] = min(minup[i - 1] , a[i].r);
    }

    mindown[n + 1] = 1000000000;

    for(i = n ; i >= 1 ; i--)
    {
        maxdown[i] = max(maxdown[i + 1] , a[i].l);
        mindown[i] = min(mindown[i + 1] , a[i].r);
    }

    long long intersect = 0 , ans = 0;

    for(i = 1 ; i < n ; i++)
    {
        intersect = minup[i] - maxup[i] + 1 + mindown[i + 1] - maxdown[i + 1] + 1;
        ans = max(ans , intersect);
    }

    cout << ans;

    return 0;
}


Compiler output:
a.cc: In function 'int main()':
a.cc:34:23: error: no matching function for call to 'max(long long int&, int&)'
   34 |         maxup[i] = max(maxup[i - 1] , a[i].l);
      |                    ~~~^~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/14/algorithm:60,
                 from /usr/include/x86_64-linux-gnu/c++/14/bits/stdc++.h:51,
                 from a.cc:1:
/usr/include/c++/14/bits/stl_algobase.h:257:5: note: candidate: 'template<class _Tp> constexpr const _Tp& std::max(const _Tp&, const _Tp&)'
  257 |     max(const _Tp& __a, const _Tp& __b)
      |     ^~~
/usr/include/c++/14/bits/stl_algobase.h:257:5: note:   template argument deduction/substitution failed:
a.cc:34:23: note:   deduced conflicting types for parameter 'const _Tp' ('long long int' and 'int')
   34 |         maxup[i] = max(maxup[i - 1] , a[i].l);
      |                    ~~~^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/14/bits/stl_algobase.h:303:5: note: candidate: 'template<class _Tp, class _Compare> constexpr const _Tp& std::max(const _Tp&, const _Tp&, _Compare)'
  303 |     max(const _Tp& __a, const _Tp& __b, _Compare __comp)
      |     ^~~
/usr/include/c++/14/bits/stl_algobase.h:303:5: note:   candidate expects 3 arguments, 2 provided
In file included from /usr/include/c++/14/algorithm:61:
/usr/include/c++/14/bits/stl_algo.h:5706:5: note: candidate: 'template<class _Tp> constexpr _Tp std::max(initializer_list<_Tp>)'
 5706 |     max(initializer_list<_Tp> __l)
      |     ^~~
/usr/include/c++/14/bits/stl_algo.h:5706:5: note:   candidate expects 1 argument, 2 provided
/usr/include/c++/14/bits/stl_algo.h:5716:5: note: candidate: 'template<class _Tp, class _Compare> constexpr _Tp std::max(initializer_list<_Tp>, _Compare)'
 5716 |     max(initializer_list<_Tp> __l, _Compare __comp)
      |     ^~~
/usr/include/c++/14/bits/stl_algo.h:5716:5: note:   template argument deduction/substitution failed:
a.cc:34:23: note:   mismatched types 'std::initializer_list<_Tp>' and 'long long int'
   34 |         maxup[i] = max(maxup[i - 1] , a[i].l);
      |                    ~~~^~~~~~~~~~~~~~~~~~~~~~~
a.cc:35:23: error: no matching function for call to 'min(long long int&, int&)'
   35 |         minup[i] = min(minup[i - 1] , a[i].r);
      |                    ~~~^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/14/bits/stl_algobase.h:233:5: note: candidate: 'template<class _Tp> constexpr const _Tp& std::min(const _Tp&, const _Tp&)'
  233 |     min(const _Tp& __a, const _Tp& __b)
      |     ^~~
/usr/include/c++/14/bits/stl_algobase.h:233:5: note:   template argument deduction/substitution failed:
a.cc:35:23: note:   deduced conflicting types for parameter 'const _Tp' ('long long int' and 'int')
   35 |         minup[i] = min(minup[i - 1] , a[i].r);
      |                    ~~~^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/14/bits/stl_algobase.h:281:5: note: candidate: 'template<class _Tp, class _Compare> constexpr const _Tp& std::min(const _Tp&, const _Tp&, _Compare)'
  281 |     min(const _Tp& __a, const _Tp& __b, _Compare __comp)
      |     ^~~
/usr/include/c++/14/bits/stl_algobase.h:281:5: note:   candidate expects 3 arguments, 2 provided
/usr/include/c++/14/bits/stl_algo.h:5686:5: note: candidate: 'template<class _Tp> constexpr _Tp std::min(initializer_list<_Tp>)'
 5686 |     min(initializer_list<_Tp> __l)
      |     ^~~
/usr/include/c++/14/bits/stl_algo.h:5686:5: note:   candidate expects 1 argument, 2 provided
/usr/include/c++/14/bits/stl_algo.h:5696:5: note: candidate: 'template<class _Tp, class _Compare> constexpr _Tp std::min(initializer_list<_Tp>, _Compare)'
 5696 |     min(initializer_list<_Tp> __l, _Compare __comp)
      |     ^~~
/usr/include/c++/14/bits/stl_algo.h:5696:5: note:   template argument deduction/substitution failed:
a.cc:35:23: note:   mismatched types 'std::initializer_list<_Tp>' and 'long long int'
   35 |         minup[i] = min(minup[i - 1] , a[i].r);
      |                    ~~~^~~~~~~~~~~~~~~~~~~~~~~
a.cc:42:25: error: no matching function for call to 'max(long long int&, int&)'
   42 |         maxdown[i] = max(maxdown[i + 1] , a[i].l);
      |                      ~~~^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/14/bits/stl_algobase.h:257:5: note: candidate: 'template<class _Tp> constexpr const _Tp& std::max(const _Tp&, const _Tp&)'
  257 |     max(const _Tp& __a, const _Tp& __b)
      |     ^~~
/usr/include/c++/14/bits/stl_algobase.h:257:5: note:   template argument deduction/substitution failed:
a.cc:42:25: note:   deduced conflicting types for parameter 'const _Tp' ('long long int' and 'int')
   42 |         maxdown[i] = max(maxdown[i + 1] , a[i].l);
      |                      ~~~^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/14/bits/stl_algobase.h:303:5: note: candidate: 'template<class _Tp, class _Compare> constexpr const _Tp& std::max(const _Tp&, const _Tp&, _Compare)'
  303 |     max(const _Tp& __a, const _Tp& __b, _Compare __comp)
      |     ^~~
/usr/include/c++/14/bits/stl_algobase.h:303:5: note:   candidate expects 3 arguments, 2 provided
/usr/include/c++/14/bits/stl_algo.h:5706:5: note: candidate: 'template<class _Tp> constexpr _Tp std::max(initializer_list<_Tp>)'
 5706 |     max(initializer_list<_Tp> __l)
      |     ^~~
/usr/include/c++/14/bits/stl_algo.h:5706:5: note:   candidate expects 1 argument, 2 provided
/usr/include/c++/14/bits/stl_algo.h:5716:5: note: candidate: 'template<class _Tp, class _Compare> constexpr _Tp std::max(initializer_list<_Tp>, _Compare)'
 5716 |     max(initializer_list<_Tp> __l, _Compare __comp)
      |     ^~~
/usr/include/c++/14/bits/stl_algo.h:5716:5: note:   template argument deduction/substitution failed:
a.cc:42:25: note:   mismatched types 'std::initializer_list<_Tp>' and 'long long int'
   42 |         maxdown[i] = max(maxdown[i + 1] , a[i].l);
      |                      ~~~^~~~~~~~~~~~~~~~~~~~~~~~~
a.cc:43:25: error: no matching function for call to 'min(long long int&, int&)'
   43 |         mindown[i] = min(mindown[i + 1] , a[i].r);
      |                      ~~~^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/14/bits/stl_algobase.h:233:5: note: candidate: 'template<class _Tp> constexpr const _Tp& std::min(const _Tp&, const _Tp&)'
  233 |     min(const _Tp& __a, const _Tp& __b)
      |     ^~~
/usr/include/c++/14/bits/stl_algobase.h:233:5: note:   template argument deduction/substitution failed:
a.cc:43:25: note:   deduced conflicting types for parameter 'const _Tp' ('long long int' and 'int')
   43 |         mindown[i] = min(mindown[i + 1] , a[i].r);
      |                      ~~~^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/14/bits/stl_algobase.h:281:5: note: candidate: 'template<class _Tp, class _Compare> constexpr const _Tp& std::min(const _Tp&, const _Tp&, _Compare)'
  281 |     min(const _Tp& __a, const _Tp& __b, _Compare __comp)
      |     ^~~
/usr/include/c++/14/bits/stl_algobase.h:281:5: note:   candidate expects 3 arguments, 2 provided
/usr/include/c++/14/bits/stl_algo.h:5686:5: note: candidate: 'template<class _Tp> constexpr _Tp std::min(initializer_list<_Tp>)'
 5686 |     min(initializer_list<_Tp> __l)
      |     ^~~
/usr/include/c++/14/bits/stl_algo.h:5686:5: note:   candidate expects 1 argument, 2 provided
/usr/include/c++/14/bits/stl_algo.h:5696:5: note: candidate: 'template<class _Tp, class _Compare> constexpr _Tp std::min(initializer_list<_Tp>, _Compare)'
 5696 |     min(initializer_list<_Tp> __l, _Compare __comp)
      |     ^~~
/usr/include/c++/14/bits/stl_algo.h:5696:5: note:   template argument deduction/substitution failed:
a.cc:43:25: note:   mismatched types 'std::initializer_list<_Tp>' and 'long long int'
   43 |         mindown[i] = min(mindown[i + 1] , a[i].r);
      |                      ~~~^~~~~~~~~~~~~~~~~~~~~~~~~