답안 #785256

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
785256 2023-07-17T07:41:37 Z vjudge1 송신탑 (IOI22_towers) C++17
컴파일 오류
0 ms 0 KB
#include "towers.h"
#include <bits/stdc++.h>
using namespace std;
int N;
vector<int> H;
void init(int n, vector<int> h) {
    N = n, H = h;
}
int max_towers(int L, int R, int D) {
    vector<int> dp(N, 1);
    for (int i = L; i <= R; i++) {
        int mx = 0;
        for (int j = i - 1; j >= L; j--) {
            if (mx - D >= max(H[i], H[j])) {
                dp[i] = max(dp[i], dp[j] + 1);
            }
            mx = max(H[j]);
        }
    }
    return *max_element(dp.begin(), dp.end());
}

Compilation message

towers.cpp: In function 'int max_towers(int, int, int)':
towers.cpp:17:26: error: no matching function for call to 'max(__gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type&)'
   17 |             mx = max(H[j]);
      |                          ^
In file included from /usr/include/c++/10/vector:60,
                 from towers.h:1,
                 from towers.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:
towers.cpp:17:26: note:   candidate expects 2 arguments, 1 provided
   17 |             mx = max(H[j]);
      |                          ^
In file included from /usr/include/c++/10/vector:60,
                 from towers.h:1,
                 from towers.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:
towers.cpp:17:26: note:   candidate expects 3 arguments, 1 provided
   17 |             mx = max(H[j]);
      |                          ^
In file included from /usr/include/c++/10/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:65,
                 from towers.cpp:2:
/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:
towers.cpp:17:26: note:   mismatched types 'std::initializer_list<_Tp>' and 'int'
   17 |             mx = max(H[j]);
      |                          ^
In file included from /usr/include/c++/10/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:65,
                 from towers.cpp:2:
/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:
towers.cpp:17:26: note:   mismatched types 'std::initializer_list<_Tp>' and 'int'
   17 |             mx = max(H[j]);
      |                          ^