railroad.cpp:10:38: error: 'int link [400005]' redeclared as different kind of entity
10 | int n, vsz, diff[400005], link[400005], sz[400005];
| ^
In file included from /usr/include/c++/13/bits/atomic_wait.h:45,
from /usr/include/c++/13/bits/atomic_base.h:42,
from /usr/include/c++/13/bits/shared_ptr_atomic.h:33,
from /usr/include/c++/13/memory:81,
from /usr/include/x86_64-linux-gnu/c++/13/bits/stdc++.h:56,
from railroad.cpp:2:
/usr/include/unistd.h:819:12: note: previous declaration 'int link(const char*, const char*)'
819 | extern int link (const char *__from, const char *__to)
| ^~~~
railroad.cpp: In function 'int find(int)':
railroad.cpp:15:24: warning: pointer to a function used in arithmetic [-Wpointer-arith]
15 | if (x == link[x]) return x;
| ^
railroad.cpp:15:15: error: ISO C++ forbids comparison between pointer and integer [-fpermissive]
15 | if (x == link[x]) return x;
| ~~^~~~~~~~~~
railroad.cpp:16:22: warning: pointer to a function used in arithmetic [-Wpointer-arith]
16 | return link[x] = find(link[x]);
| ^
railroad.cpp:16:37: warning: pointer to a function used in arithmetic [-Wpointer-arith]
16 | return link[x] = find(link[x]);
| ^
railroad.cpp:16:30: error: no matching function for call to 'find(int (&)(const char*, const char*) noexcept)'
16 | return link[x] = find(link[x]);
| ~~~~^~~~~~~~~
In file included from /usr/include/c++/13/algorithm:61,
from /usr/include/x86_64-linux-gnu/c++/13/bits/stdc++.h:51:
/usr/include/c++/13/bits/stl_algo.h:3889:5: note: candidate: 'template<class _IIter, class _Tp> constexpr _IIter std::find(_IIter, _IIter, const _Tp&)'
3889 | find(_InputIterator __first, _InputIterator __last,
| ^~~~
/usr/include/c++/13/bits/stl_algo.h:3889:5: note: template argument deduction/substitution failed:
railroad.cpp:16:30: note: candidate expects 3 arguments, 1 provided
16 | return link[x] = find(link[x]);
| ~~~~^~~~~~~~~
In file included from /usr/include/c++/13/algorithm:73:
/usr/include/c++/13/pstl/glue_algorithm_defs.h:60:1: note: candidate: 'template<class _ExecutionPolicy, class _ForwardIterator, class _Tp> __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> std::find(_ExecutionPolicy&&, _ForwardIterator, _ForwardIterator, const _Tp&)'
60 | find(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, const _Tp& __value);
| ^~~~
/usr/include/c++/13/pstl/glue_algorithm_defs.h:60:1: note: template argument deduction/substitution failed:
railroad.cpp:16:30: note: candidate expects 4 arguments, 1 provided
16 | return link[x] = find(link[x]);
| ~~~~^~~~~~~~~
In file included from /usr/include/c++/13/iterator:66,
from /usr/include/x86_64-linux-gnu/c++/13/bits/stdc++.h:54:
/usr/include/c++/13/bits/streambuf_iterator.h:435:5: note: candidate: 'template<class _CharT2> typename __gnu_cxx::__enable_if<std::__is_char<_CharT2>::__value, std::istreambuf_iterator<_CharT, std::char_traits<_CharT> > >::__type std::find(istreambuf_iterator<_CharT, char_traits<_CharT> >, istreambuf_iterator<_CharT, char_traits<_CharT> >, const _CharT2&)'
435 | find(istreambuf_iterator<_CharT> __first,
| ^~~~
/usr/include/c++/13/bits/streambuf_iterator.h:435:5: note: template argument deduction/substitution failed:
railroad.cpp:16:30: note: mismatched types 'std::istreambuf_iterator<_CharT, std::char_traits<_CharT> >' and 'int (*)(const char*, const char*) noexcept'
16 | return link[x] = find(link[x]);
| ~~~~^~~~~~~~~
railroad.cpp:14:5: note: candidate: 'int find(int)' (near match)
14 | int find(int x) {
| ^~~~
railroad.cpp:14:5: note: conversion of argument 1 would be ill-formed:
railroad.cpp:16:37: error: invalid conversion from 'int (*)(const char*, const char*) noexcept' to 'int' [-fpermissive]
16 | return link[x] = find(link[x]);
| ~~~~~~^
| |
| int (*)(const char*, const char*) noexcept
railroad.cpp: In function 'void unite(int, int)':
railroad.cpp:25:15: warning: pointer to a function used in arithmetic [-Wpointer-arith]
25 | link[b] = a;
| ^
railroad.cpp:25:17: error: assignment of read-only location '*(link + ((sizetype)b))'
25 | link[b] = a;
| ~~~~~~~~^~~
railroad.cpp: In function 'll plan_roller_coaster(std::vector<int>, std::vector<int>)':
railroad.cpp:46:23: warning: pointer to a function used in arithmetic [-Wpointer-arith]
46 | link[i] = i;
| ^
railroad.cpp:46:25: error: assignment of read-only location '*(link + ((sizetype)i))'
46 | link[i] = i;
| ~~~~~~~~^~~
railroad.h:1:9: warning: #pragma once in main file
1 | #pragma once
| ^~~~
railroad_c.h:1:9: warning: #pragma once in main file
1 | #pragma once
| ^~~~