molecules.cpp: In function 'std::vector<int> find_subset(int, int, std::vector<int>)':
molecules.cpp:18:14: error: no match for 'operator+' (operand types are 'std::vector<int>' and 'int')
18 | sort(I, I+n, [] (int x, int y)
| ~^~
| | |
| | int
| std::vector<int>
In file included from /usr/include/c++/9/bits/stl_algobase.h:67,
from /usr/include/c++/9/vector:60,
from molecules.h:3,
from molecules.cpp:1:
/usr/include/c++/9/bits/stl_iterator.h:423:5: note: candidate: 'template<class _Iterator> constexpr std::reverse_iterator<_Iterator> std::operator+(typename std::reverse_iterator<_Iterator>::difference_type, const std::reverse_iterator<_Iterator>&)'
423 | operator+(typename reverse_iterator<_Iterator>::difference_type __n,
| ^~~~~~~~
/usr/include/c++/9/bits/stl_iterator.h:423:5: note: template argument deduction/substitution failed:
molecules.cpp:18:15: note: mismatched types 'const std::reverse_iterator<_Iterator>' and 'int'
18 | sort(I, I+n, [] (int x, int y)
| ^
In file included from /usr/include/c++/9/bits/stl_algobase.h:67,
from /usr/include/c++/9/vector:60,
from molecules.h:3,
from molecules.cpp:1:
/usr/include/c++/9/bits/stl_iterator.h:1219:5: note: candidate: 'template<class _Iterator> constexpr std::move_iterator<_IteratorL> std::operator+(typename std::move_iterator<_IteratorL>::difference_type, const std::move_iterator<_IteratorL>&)'
1219 | operator+(typename move_iterator<_Iterator>::difference_type __n,
| ^~~~~~~~
/usr/include/c++/9/bits/stl_iterator.h:1219:5: note: template argument deduction/substitution failed:
molecules.cpp:18:15: note: mismatched types 'const std::move_iterator<_IteratorL>' and 'int'
18 | sort(I, I+n, [] (int x, int y)
| ^
In file included from /usr/include/c++/9/vector:68,
from molecules.h:3,
from molecules.cpp:1:
/usr/include/c++/9/bits/stl_bvector.h:303:3: note: candidate: 'std::_Bit_iterator std::operator+(std::ptrdiff_t, const std::_Bit_iterator&)'
303 | operator+(ptrdiff_t __n, const _Bit_iterator& __x)
| ^~~~~~~~
/usr/include/c++/9/bits/stl_bvector.h:303:23: note: no known conversion for argument 1 from 'std::vector<int>' to 'std::ptrdiff_t' {aka 'long int'}
303 | operator+(ptrdiff_t __n, const _Bit_iterator& __x)
| ~~~~~~~~~~^~~
/usr/include/c++/9/bits/stl_bvector.h:393:3: note: candidate: 'std::_Bit_const_iterator std::operator+(std::ptrdiff_t, const std::_Bit_const_iterator&)'
393 | operator+(ptrdiff_t __n, const _Bit_const_iterator& __x)
| ^~~~~~~~
/usr/include/c++/9/bits/stl_bvector.h:393:23: note: no known conversion for argument 1 from 'std::vector<int>' to 'std::ptrdiff_t' {aka 'long int'}
393 | operator+(ptrdiff_t __n, const _Bit_const_iterator& __x)
| ~~~~~~~~~~^~~
In file included from /usr/include/c++/9/bits/stl_algobase.h:67,
from /usr/include/c++/9/vector:60,
from molecules.h:3,
from molecules.cpp:1:
/usr/include/c++/9/bits/stl_iterator.h:996:5: note: candidate: 'template<class _Iterator, class _Container> __gnu_cxx::__normal_iterator<_Iterator, _Container> __gnu_cxx::operator+(typename __gnu_cxx::__normal_iterator<_Iterator, _Container>::difference_type, const __gnu_cxx::__normal_iterator<_Iterator, _Container>&)'
996 | operator+(typename __normal_iterator<_Iterator, _Container>::difference_type
| ^~~~~~~~
/usr/include/c++/9/bits/stl_iterator.h:996:5: note: template argument deduction/substitution failed:
molecules.cpp:18:15: note: mismatched types 'const __gnu_cxx::__normal_iterator<_Iterator, _Container>' and 'int'
18 | sort(I, I+n, [] (int x, int y)
| ^
molecules.cpp:18:5: error: 'sort' was not declared in this scope; did you mean 'short'?
18 | sort(I, I+n, [] (int x, int y)
| ^~~~
| short
molecules.cpp:37:18: error: invalid types 'int[__gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type {aka int}]' for array subscript
37 | sum -= x[I[x]];
| ^