제출 #1268260

#제출 시각아이디문제언어결과실행 시간메모리
1268260MisterReaperBubble Sort 2 (JOI18_bubblesort2)C++20
컴파일 에러
0 ms0 KiB
#include "bubblesort2.h" #include <bits/stdc++.h> using i64 = long long; #ifdef DEBUG #include "/home/ahmetalp/Desktop/Workplace/debug.h" #else #define debug(...) void(23) #endif struct fenwick { int n; std::vector<int> tree; fenwick(int n_) { init(n_); } void init(int n_) { n = n_; tree.assign(n + 1, 0); } void modify(int p, int x) { for (p += 1; p <= n; p += p & -p) { tree[p] += x; } } int get(int p) { int res = 0; for (p += 1; p; p -= p & -p) { res += tree[p]; } return res; } }; std::vector<int> countScans(std::vector<int> A, std::vector<int> X, std::vector<int> V){ std::vector<int> ids(A.begin(), A.end()); ids.insert(V.begin(), V.end()); std::sort(ids.begin(), ids.end()); int n; ids.erase(n = int(std::unique(ids.begin(), ids.end()) - ids.begin())); fenwick fen; int N = int(A.size()); int Q = int(X.size()); for (int i = 0; i < N; ++i) { A[i] = int(std::lower_bound(ids.begin(), ids.end(), A[i]) - ids.begin()); } for (int i = 0; i < Q; ++i) { V[i] = int(std::lower_bound(ids.begin(), ids.end(), V[i]) - ids.begin()); } std::vector<int> ans(Q); for (int i = 0; i < Q; ++i) { fen.init(n); A[X[i]] = V[i]; int& res = ans[i]; for (int j = 0; j < N; ++j) { int x = fen.get(A[j] - 1); res = std::max(res, x); fen.modify(A[j], +1); } } return ans; }

컴파일 시 표준 에러 (stderr) 메시지

bubblesort2.cpp: In function 'std::vector<int> countScans(std::vector<int>, std::vector<int>, std::vector<int>)':
bubblesort2.cpp:38:19: error: no matching function for call to 'std::vector<int>::insert(std::vector<int>::iterator, std::vector<int>::iterator)'
   38 |         ids.insert(V.begin(), V.end());
      |         ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/13/vector:66,
                 from bubblesort2.h:1,
                 from bubblesort2.cpp:1:
/usr/include/c++/13/bits/stl_vector.h:1482:9: note: candidate: 'template<class _InputIterator, class> constexpr std::vector<_Tp, _Alloc>::iterator std::vector<_Tp, _Alloc>::insert(const_iterator, _InputIterator, _InputIterator) [with <template-parameter-2-2> = _InputIterator; _Tp = int; _Alloc = std::allocator<int>]'
 1482 |         insert(const_iterator __position, _InputIterator __first,
      |         ^~~~~~
/usr/include/c++/13/bits/stl_vector.h:1482:9: note:   template argument deduction/substitution failed:
bubblesort2.cpp:38:19: note:   candidate expects 3 arguments, 2 provided
   38 |         ids.insert(V.begin(), V.end());
      |         ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/13/vector:72:
/usr/include/c++/13/bits/vector.tcc:133:5: note: candidate: 'constexpr std::vector<_Tp, _Alloc>::iterator std::vector<_Tp, _Alloc>::insert(const_iterator, const value_type&) [with _Tp = int; _Alloc = std::allocator<int>; iterator = std::vector<int>::iterator; const_iterator = std::vector<int>::const_iterator; value_type = int]'
  133 |     vector<_Tp, _Alloc>::
      |     ^~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/bits/vector.tcc:135:57: note:   no known conversion for argument 2 from 'std::vector<int>::iterator' to 'const std::vector<int>::value_type&' {aka 'const int&'}
  135 |     insert(const_iterator __position, const value_type& __x)
      |                                       ~~~~~~~~~~~~~~~~~~^~~
/usr/include/c++/13/bits/stl_vector.h:1393:7: note: candidate: 'constexpr std::vector<_Tp, _Alloc>::iterator std::vector<_Tp, _Alloc>::insert(const_iterator, value_type&&) [with _Tp = int; _Alloc = std::allocator<int>; iterator = std::vector<int>::iterator; const_iterator = std::vector<int>::const_iterator; value_type = int]'
 1393 |       insert(const_iterator __position, value_type&& __x)
      |       ^~~~~~
/usr/include/c++/13/bits/stl_vector.h:1393:54: note:   no known conversion for argument 2 from 'std::vector<int>::iterator' to 'std::vector<int>::value_type&&' {aka 'int&&'}
 1393 |       insert(const_iterator __position, value_type&& __x)
      |                                         ~~~~~~~~~~~~~^~~
/usr/include/c++/13/bits/stl_vector.h:1411:7: note: candidate: 'constexpr std::vector<_Tp, _Alloc>::iterator std::vector<_Tp, _Alloc>::insert(const_iterator, std::initializer_list<_Tp>) [with _Tp = int; _Alloc = std::allocator<int>; iterator = std::vector<int>::iterator; const_iterator = std::vector<int>::const_iterator]'
 1411 |       insert(const_iterator __position, initializer_list<value_type> __l)
      |       ^~~~~~
/usr/include/c++/13/bits/stl_vector.h:1411:70: note:   no known conversion for argument 2 from 'std::vector<int>::iterator' to 'std::initializer_list<int>'
 1411 |       insert(const_iterator __position, initializer_list<value_type> __l)
      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
/usr/include/c++/13/bits/stl_vector.h:1437:7: note: candidate: 'constexpr std::vector<_Tp, _Alloc>::iterator std::vector<_Tp, _Alloc>::insert(const_iterator, size_type, const value_type&) [with _Tp = int; _Alloc = std::allocator<int>; iterator = std::vector<int>::iterator; const_iterator = std::vector<int>::const_iterator; size_type = long unsigned int; value_type = int]'
 1437 |       insert(const_iterator __position, size_type __n, const value_type& __x)
      |       ^~~~~~
/usr/include/c++/13/bits/stl_vector.h:1437:7: note:   candidate expects 3 arguments, 2 provided
bubblesort2.cpp:41:18: error: no matching function for call to 'std::vector<int>::erase(int&)'
   41 |         ids.erase(n = int(std::unique(ids.begin(), ids.end()) - ids.begin()));
      |         ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/bits/stl_vector.h:1534:7: note: candidate: 'constexpr std::vector<_Tp, _Alloc>::iterator std::vector<_Tp, _Alloc>::erase(const_iterator) [with _Tp = int; _Alloc = std::allocator<int>; iterator = std::vector<int>::iterator; const_iterator = std::vector<int>::const_iterator]'
 1534 |       erase(const_iterator __position)
      |       ^~~~~
/usr/include/c++/13/bits/stl_vector.h:1534:28: note:   no known conversion for argument 1 from 'int' to 'std::vector<int>::const_iterator'
 1534 |       erase(const_iterator __position)
      |             ~~~~~~~~~~~~~~~^~~~~~~~~~
/usr/include/c++/13/bits/stl_vector.h:1562:7: note: candidate: 'constexpr std::vector<_Tp, _Alloc>::iterator std::vector<_Tp, _Alloc>::erase(const_iterator, const_iterator) [with _Tp = int; _Alloc = std::allocator<int>; iterator = std::vector<int>::iterator; const_iterator = std::vector<int>::const_iterator]'
 1562 |       erase(const_iterator __first, const_iterator __last)
      |       ^~~~~
/usr/include/c++/13/bits/stl_vector.h:1562:7: note:   candidate expects 2 arguments, 1 provided
bubblesort2.cpp:42:17: error: no matching function for call to 'fenwick::fenwick()'
   42 |         fenwick fen;
      |                 ^~~
bubblesort2.cpp:15:9: note: candidate: 'fenwick::fenwick(int)'
   15 |         fenwick(int n_) {
      |         ^~~~~~~
bubblesort2.cpp:15:9: note:   candidate expects 1 argument, 0 provided
bubblesort2.cpp:12:8: note: candidate: 'constexpr fenwick::fenwick(const fenwick&)'
   12 | struct fenwick {
      |        ^~~~~~~
bubblesort2.cpp:12:8: note:   candidate expects 1 argument, 0 provided
bubblesort2.cpp:12:8: note: candidate: 'constexpr fenwick::fenwick(fenwick&&)'
bubblesort2.cpp:12:8: note:   candidate expects 1 argument, 0 provided