Submission #492049

#TimeUsernameProblemLanguageResultExecution timeMemory
492049blueMeetings (IOI18_meetings)C++17
Compilation error
0 ms0 KiB
#include "meetings.h"
#include <vector>
#include <algorithm>
using namespace std;

using ll = long long;
using vll = vector<ll>;
using vi = vector<int>;

const ll INF = 1'000'000'000'000'000'000LL;

vll minimum_costs(vi H, vi L, vi R)
{
    int Q = int(L.size());

    vll ans(Q);

    for(int j = 0; j < Q; j++)
    {
        ans[j] = INF;
        for(int p = L[j]; p <= R[j]; p++)
        {
            ll tmp = -H[p];
            ll mx = 0;
            for(int i = p; i >= L[j]; i--)
            {
                mx = max(mx, H[i]);
                tmp += mx;
            }
            mx = 0;
            for(int i = p; i <= R[j]; i++)
            {
                mx = max(mx, H[i]);
                tmp += mx;
            }

            ans[j] = min(ans[j], tmp);
        }
    }

    return ans;
}

Compilation message (stderr)

meetings.cpp: In function 'vll minimum_costs(vi, vi, vi)':
meetings.cpp:27:34: error: no matching function for call to 'max(ll&, __gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type&)'
   27 |                 mx = max(mx, H[i]);
      |                                  ^
In file included from /usr/include/c++/10/vector:60,
                 from meetings.h:3,
                 from meetings.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:
meetings.cpp:27:34: note:   deduced conflicting types for parameter 'const _Tp' ('long long int' and '__gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type' {aka 'int'})
   27 |                 mx = max(mx, H[i]);
      |                                  ^
In file included from /usr/include/c++/10/vector:60,
                 from meetings.h:3,
                 from meetings.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:
meetings.cpp:27:34: note:   deduced conflicting types for parameter 'const _Tp' ('long long int' and '__gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type' {aka 'int'})
   27 |                 mx = max(mx, H[i]);
      |                                  ^
In file included from /usr/include/c++/10/algorithm:62,
                 from meetings.cpp:3:
/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:
meetings.cpp:27:34: note:   mismatched types 'std::initializer_list<_Tp>' and 'long long int'
   27 |                 mx = max(mx, H[i]);
      |                                  ^
In file included from /usr/include/c++/10/algorithm:62,
                 from meetings.cpp:3:
/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:
meetings.cpp:27:34: note:   mismatched types 'std::initializer_list<_Tp>' and 'long long int'
   27 |                 mx = max(mx, H[i]);
      |                                  ^
meetings.cpp:33:34: error: no matching function for call to 'max(ll&, __gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type&)'
   33 |                 mx = max(mx, H[i]);
      |                                  ^
In file included from /usr/include/c++/10/vector:60,
                 from meetings.h:3,
                 from meetings.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:
meetings.cpp:33:34: note:   deduced conflicting types for parameter 'const _Tp' ('long long int' and '__gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type' {aka 'int'})
   33 |                 mx = max(mx, H[i]);
      |                                  ^
In file included from /usr/include/c++/10/vector:60,
                 from meetings.h:3,
                 from meetings.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:
meetings.cpp:33:34: note:   deduced conflicting types for parameter 'const _Tp' ('long long int' and '__gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type' {aka 'int'})
   33 |                 mx = max(mx, H[i]);
      |                                  ^
In file included from /usr/include/c++/10/algorithm:62,
                 from meetings.cpp:3:
/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:
meetings.cpp:33:34: note:   mismatched types 'std::initializer_list<_Tp>' and 'long long int'
   33 |                 mx = max(mx, H[i]);
      |                                  ^
In file included from /usr/include/c++/10/algorithm:62,
                 from meetings.cpp:3:
/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:
meetings.cpp:33:34: note:   mismatched types 'std::initializer_list<_Tp>' and 'long long int'
   33 |                 mx = max(mx, H[i]);
      |                                  ^