# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
1229864 | avighna | Art Collections (BOI22_art) | C++20 | 컴파일 에러 | 0 ms | 0 KiB |
#include <bits/stdc++.h>
int publish(std::vector<int>);
void answer(std::vector<int>);
void solve(int N) {
std::vector<int> front(N + 1);
for (int i = 1; i <= N; ++i) {
std::vector<int> a;
for (int j = 1; j <= N; ++j) {
if (i != j) {
a.push_back(j);
}
}
a.insert(a.begin(), i);
front[i] = publish(a);
}
std::vector<int> ans = {1};
for (int i = 2; i <= N; ++i) {
ans.insert(i - front[1] + front[i] - 1, i);
}
answer(ans);
}
컴파일 시 표준 에러 (stderr) 메시지
art.cpp: In function 'void solve(int)': art.cpp:21:19: error: no matching function for call to 'std::vector<int>::insert(int, int&)' 21 | ans.insert(i - front[1] + front[i] - 1, i); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/c++/11/vector:67, from /usr/include/c++/11/functional:62, from /usr/include/c++/11/pstl/glue_algorithm_defs.h:13, from /usr/include/c++/11/algorithm:74, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:65, from art.cpp:1: /usr/include/c++/11/bits/stl_vector.h:1379:9: note: candidate: 'template<class _InputIterator, class> std::vector<_Tp, _Alloc>::iterator std::vector<_Tp, _Alloc>::insert(std::vector<_Tp, _Alloc>::const_iterator, _InputIterator, _InputIterator) [with _InputIterator = _InputIterator; <template-parameter-2-2> = <template-parameter-1-2>; _Tp = int; _Alloc = std::allocator<int>]' 1379 | insert(const_iterator __position, _InputIterator __first, | ^~~~~~ /usr/include/c++/11/bits/stl_vector.h:1379:9: note: template argument deduction/substitution failed: art.cpp:21:19: note: candidate expects 3 arguments, 2 provided 21 | ans.insert(i - front[1] + front[i] - 1, i); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/c++/11/vector:72, from /usr/include/c++/11/functional:62, from /usr/include/c++/11/pstl/glue_algorithm_defs.h:13, from /usr/include/c++/11/algorithm:74, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:65, from art.cpp:1: /usr/include/c++/11/bits/vector.tcc:130:5: note: candidate: 'std::vector<_Tp, _Alloc>::iterator std::vector<_Tp, _Alloc>::insert(std::vector<_Tp, _Alloc>::const_iterator, const value_type&) [with _Tp = int; _Alloc = std::allocator<int>; std::vector<_Tp, _Alloc>::iterator = std::vector<int>::iterator; std::vector<_Tp, _Alloc>::const_iterator = std::vector<int>::const_iterator; std::vector<_Tp, _Alloc>::value_type = int]' 130 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ /usr/include/c++/11/bits/vector.tcc:132:27: note: no known conversion for argument 1 from 'int' to 'std::vector<int>::const_iterator' 132 | insert(const_iterator __position, const value_type& __x) | ~~~~~~~~~~~~~~~^~~~~~~~~~ In file included from /usr/include/c++/11/vector:67, from /usr/include/c++/11/functional:62, from /usr/include/c++/11/pstl/glue_algorithm_defs.h:13, from /usr/include/c++/11/algorithm:74, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:65, from art.cpp:1: /usr/include/c++/11/bits/stl_vector.h:1293:7: note: candidate: 'std::vector<_Tp, _Alloc>::iterator std::vector<_Tp, _Alloc>::insert(std::vector<_Tp, _Alloc>::const_iterator, std::vector<_Tp, _Alloc>::value_type&&) [with _Tp = int; _Alloc = std::allocator<int>; std::vector<_Tp, _Alloc>::iterator = std::vector<int>::iterator; std::vector<_Tp, _Alloc>::const_iterator = std::vector<int>::const_iterator; std::vector<_Tp, _Alloc>::value_type = int]' 1293 | insert(const_iterator __position, value_type&& __x) | ^~~~~~ /usr/include/c++/11/bits/stl_vector.h:1293:29: note: no known conversion for argument 1 from 'int' to 'std::vector<int>::const_iterator' 1293 | insert(const_iterator __position, value_type&& __x) | ~~~~~~~~~~~~~~~^~~~~~~~~~ /usr/include/c++/11/bits/stl_vector.h:1310:7: note: candidate: 'std::vector<_Tp, _Alloc>::iterator std::vector<_Tp, _Alloc>::insert(std::vector<_Tp, _Alloc>::const_iterator, std::initializer_list<_Tp>) [with _Tp = int; _Alloc = std::allocator<int>; std::vector<_Tp, _Alloc>::iterator = std::vector<int>::iterator; std::vector<_Tp, _Alloc>::const_iterator = std::vector<int>::const_iterator]' 1310 | insert(const_iterator __position, initializer_list<value_type> __l) | ^~~~~~ /usr/include/c++/11/bits/stl_vector.h:1310:29: note: no known conversion for argument 1 from 'int' to 'std::vector<int>::const_iterator' 1310 | insert(const_iterator __position, initializer_list<value_type> __l) | ~~~~~~~~~~~~~~~^~~~~~~~~~ /usr/include/c++/11/bits/stl_vector.h:1335:7: note: candidate: 'std::vector<_Tp, _Alloc>::iterator std::vector<_Tp, _Alloc>::insert(std::vector<_Tp, _Alloc>::const_iterator, std::vector<_Tp, _Alloc>::size_type, const value_type&) [with _Tp = int; _Alloc = std::allocator<int>; std::vector<_Tp, _Alloc>::iterator = std::vector<int>::iterator; std::vector<_Tp, _Alloc>::const_iterator = std::vector<int>::const_iterator; std::vector<_Tp, _Alloc>::size_type = long unsigned int; std::vector<_Tp, _Alloc>::value_type = int]' 1335 | insert(const_iterator __position, size_type __n, const value_type& __x) | ^~~~~~ /usr/include/c++/11/bits/stl_vector.h:1335:7: note: candidate expects 3 arguments, 2 provided