archery.cpp: In function 'll hash(std::array<int, 400>&, int)':
archery.cpp:11:8: error: 'BASE' does not name a type
11 | const BASE = 137, MOD = 1000000007;
| ^~~~
archery.cpp:14:24: error: 'MOD' was not declared in this scope
14 | z = (z + bp * a[i] % MOD) % MOD;
| ^~~
archery.cpp:15:10: error: 'BASE' was not declared in this scope
15 | (bp *= BASE) %= MOD;
| ^~~~
archery.cpp: In function 'int check()':
archery.cpp:27:11: error: reference to 'hash' is ambiguous
27 | ll hh = hash(p, 2 * n);
| ^~~~
In file included from /usr/include/c++/10/optional:42,
from /usr/include/c++/10/bits/node_handle.h:39,
from /usr/include/c++/10/bits/stl_tree.h:72,
from /usr/include/c++/10/map:60,
from archery.cpp:2:
/usr/include/c++/10/bits/functional_hash.h:58:12: note: candidates are: 'template<class _Tp> struct std::hash'
58 | struct hash;
| ^~~~
archery.cpp:10:4: note: 'll hash(std::array<int, 400>&, int)'
10 | ll hash(array<int, 400> &a, int n) {
| ^~~~
archery.cpp: In function 'int main()':
archery.cpp:60:7: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
60 | scanf("%d%d", &n, &r);
| ~~~~~^~~~~~~~~~~~~~~~
archery.cpp:62:8: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
62 | scanf("%d", s + i), q[i] = i;
| ~~~~~^~~~~~~~~~~~~