secret.cpp:3:1: error: 'map' does not name a type
3 | map <pair<int,int>,pair<int,bool> > m;
| ^~~
secret.cpp: In function 'void ask(int, int, int*)':
secret.cpp:7:12: error: too few arguments to function 'void ask(int, int, int*)'
7 | ask(l,mid);
| ^
secret.cpp:4:6: note: declared here
4 | void ask(int l,int r,int A[]){
| ^~~
secret.cpp:8:14: error: too few arguments to function 'void ask(int, int, int*)'
8 | ask(mid+1,r);
| ^
secret.cpp:4:6: note: declared here
4 | void ask(int l,int r,int A[]){
| ^~~
secret.cpp:12:8: error: 'm' was not declared in this scope
12 | if (!m[{i,r}].second){
| ^
secret.cpp: In function 'void Init(int, int*)':
secret.cpp:20:4: error: 'm' was not declared in this scope
20 | m.clear();
| ^
secret.cpp: In function 'int Query(int, int)':
secret.cpp:28:6: error: 'm' was not declared in this scope
28 | if (m[{L,R}].second) return m[{L,R}].first;
| ^
secret.cpp:30:7: error: 'm' was not declared in this scope
30 | if (m[{L,i}].second && m[{i+1,R}].second) return Secret(m[{L,i}].first,m[{i+1,R}].first);
| ^