rainbow.cpp:22:23: error: 'string' does not name a type
22 | ll n, m, sr, sc, op; string s;
| ^~~~~~
rainbow.cpp:23:2: error: 'vector' does not name a type
23 | vector<vector<ll>> row1, col1;
| ^~~~~~
rainbow.cpp:24:2: error: 'vector' does not name a type
24 | vector<vector<pii>> row2, col2;
| ^~~~~~
rainbow.cpp:25:2: error: 'unordered_map' does not name a type
25 | unordered_map<char, pii> mp = {
| ^~~~~~~~~~~~~
rainbow.cpp: In function 'void init_(int, int, int, int, int, char*)':
rainbow.cpp:30:49: error: 's' was not declared in this scope; did you mean '_s'?
30 | n = _n, m = _m, sr = _sr, sc = _sc, op = _op, s = string(_s);
| ^
| _s
rainbow.cpp:30:53: error: 'string' was not declared in this scope
30 | n = _n, m = _m, sr = _sr, sc = _sc, op = _op, s = string(_s);
| ^~~~~~
rainbow.cpp:3:1: note: 'std::string' is defined in header '<string>'; did you forget to '#include <string>'?
2 | #include "rainbow.h"
+++ |+#include <string>
3 | #define rep(i, a, b) for(int i = a; i <= b; i++)
rainbow.cpp:31:3: error: 'row1' was not declared in this scope
31 | row1.assign(n + 1, vector<ll>());
| ^~~~
rainbow.cpp:31:22: error: 'vector' was not declared in this scope
31 | row1.assign(n + 1, vector<ll>());
| ^~~~~~
rainbow.cpp:3:1: note: 'std::vector' is defined in header '<vector>'; did you forget to '#include <vector>'?
2 | #include "rainbow.h"
+++ |+#include <vector>
3 | #define rep(i, a, b) for(int i = a; i <= b; i++)
rainbow.cpp:8:12: error: expected primary-expression before 'long'
8 | #define ll long long int
| ^~~~
rainbow.cpp:31:29: note: in expansion of macro 'll'
31 | row1.assign(n + 1, vector<ll>());
| ^~
rainbow.cpp:32:3: error: 'row2' was not declared in this scope
32 | row2.assign(n + 1, vector<pii>());
| ^~~~
rainbow.cpp:9:13: error: 'pair' was not declared in this scope
9 | #define pii pair<ll, ll>
| ^~~~
rainbow.cpp:32:29: note: in expansion of macro 'pii'
32 | row2.assign(n + 1, vector<pii>());
| ^~~
rainbow.cpp:3:1: note: 'std::pair' is defined in header '<utility>'; did you forget to '#include <utility>'?
2 | #include "rainbow.h"
+++ |+#include <utility>
3 | #define rep(i, a, b) for(int i = a; i <= b; i++)
rainbow.cpp:8:12: error: expected primary-expression before 'long'
8 | #define ll long long int
| ^~~~
rainbow.cpp:9:18: note: in expansion of macro 'll'
9 | #define pii pair<ll, ll>
| ^~
rainbow.cpp:32:29: note: in expansion of macro 'pii'
32 | row2.assign(n + 1, vector<pii>());
| ^~~
rainbow.cpp:8:12: error: expected primary-expression before 'long'
8 | #define ll long long int
| ^~~~
rainbow.cpp:9:22: note: in expansion of macro 'll'
9 | #define pii pair<ll, ll>
| ^~
rainbow.cpp:32:29: note: in expansion of macro 'pii'
32 | row2.assign(n + 1, vector<pii>());
| ^~~
rainbow.cpp:33:3: error: 'col1' was not declared in this scope
33 | col1.assign(m + 1, vector<ll>());
| ^~~~
rainbow.cpp:8:12: error: expected primary-expression before 'long'
8 | #define ll long long int
| ^~~~
rainbow.cpp:33:29: note: in expansion of macro 'll'
33 | col1.assign(m + 1, vector<ll>());
| ^~
rainbow.cpp:34:3: error: 'col2' was not declared in this scope
34 | col2.assign(m + 1, vector<pii>());
| ^~~~
rainbow.cpp:8:12: error: expected primary-expression before 'long'
8 | #define ll long long int
| ^~~~
rainbow.cpp:9:18: note: in expansion of macro 'll'
9 | #define pii pair<ll, ll>
| ^~
rainbow.cpp:34:29: note: in expansion of macro 'pii'
34 | col2.assign(m + 1, vector<pii>());
| ^~~
rainbow.cpp:8:12: error: expected primary-expression before 'long'
8 | #define ll long long int
| ^~~~
rainbow.cpp:9:22: note: in expansion of macro 'll'
9 | #define pii pair<ll, ll>
| ^~
rainbow.cpp:34:29: note: in expansion of macro 'pii'
34 | col2.assign(m + 1, vector<pii>());
| ^~~
rainbow.cpp:8:12: error: expected primary-expression before 'long'
8 | #define ll long long int
| ^~~~
rainbow.cpp:9:18: note: in expansion of macro 'll'
9 | #define pii pair<ll, ll>
| ^~
rainbow.cpp:35:3: note: in expansion of macro 'pii'
35 | pii cur = {sr, sc};
| ^~~
rainbow.cpp:36:8: error: 'cur' was not declared in this scope
36 | row1[cur.x].push_back(cur.y);
| ^~~
rainbow.cpp:39:19: error: 'mp' was not declared in this scope; did you mean 'op'?
39 | cur = {cur.x + mp[i].x, cur.y + mp[i].y};
| ^~
| op
rainbow.cpp:44:4: error: 'sort' was not declared in this scope; did you mean 'short'?
44 | sort(all(row1[i]));
| ^~~~
| short
rainbow.cpp:45:19: error: 'unique' was not declared in this scope
45 | row1[i].resize(unique(all(row1[i])) - row1[i].begin());
| ^~~~~~
rainbow.cpp:57:4: error: 'sort' was not declared in this scope; did you mean 'short'?
57 | sort(all(col1[i]));
| ^~~~
| short
rainbow.cpp:58:19: error: 'unique' was not declared in this scope
58 | col1[i].resize(unique(all(col1[i])) - col1[i].begin());
| ^~~~~~
rainbow.cpp: In function 'long long int area(int, int, int, int)':
rainbow.cpp:75:24: error: 'row1' was not declared in this scope
75 | int L = upper_bound(row1[i].begin(), row1[i].end(), l - 1) - row1[i].begin();
| ^~~~
rainbow.cpp:75:12: error: 'upper_bound' was not declared in this scope
75 | int L = upper_bound(row1[i].begin(), row1[i].end(), l - 1) - row1[i].begin();
| ^~~~~~~~~~~
rainbow.cpp:16:20: warning: statement has no effect [-Wunused-value]
16 | #define print(...) 0
| ^
rainbow.cpp:77:4: note: in expansion of macro 'print'
77 | print(i, L, R);
| ^~~~~
rainbow.cpp:17:21: warning: statement has no effect [-Wunused-value]
17 | #define vprint(...) 0
| ^
rainbow.cpp:78:4: note: in expansion of macro 'vprint'
78 | vprint(all(row1[i]));
| ^~~~~~
rainbow.cpp: In function 'bool occ(int, int)':
rainbow.cpp:84:24: error: 'row1' was not declared in this scope
84 | int id = lower_bound(row1[x].begin(), row1[x].end(), y) - row1[x].begin();
| ^~~~
rainbow.cpp:84:12: error: 'lower_bound' was not declared in this scope
84 | int id = lower_bound(row1[x].begin(), row1[x].end(), y) - row1[x].begin();
| ^~~~~~~~~~~
rainbow.cpp: In function 'long long int count_row(int, int, int)':
rainbow.cpp:88:24: error: 'row2' was not declared in this scope
88 | ll lid = lower_bound(row2[id].begin(), row2[id].end(), pii(L, -INF)) - row2[id].begin();
| ^~~~
rainbow.cpp:9:13: error: 'pair' was not declared in this scope
9 | #define pii pair<ll, ll>
| ^~~~
rainbow.cpp:88:58: note: in expansion of macro 'pii'
88 | ll lid = lower_bound(row2[id].begin(), row2[id].end(), pii(L, -INF)) - row2[id].begin();
| ^~~
rainbow.cpp:9:13: note: 'std::pair' is defined in header '<utility>'; did you forget to '#include <utility>'?
9 | #define pii pair<ll, ll>
| ^~~~
rainbow.cpp:88:58: note: in expansion of macro 'pii'
88 | ll lid = lower_bound(row2[id].begin(), row2[id].end(), pii(L, -INF)) - row2[id].begin();
| ^~~
rainbow.cpp:8:12: error: expected primary-expression before 'long'
8 | #define ll long long int
| ^~~~
rainbow.cpp:9:18: note: in expansion of macro 'll'
9 | #define pii pair<ll, ll>
| ^~
rainbow.cpp:88:58: note: in expansion of macro 'pii'
88 | ll lid = lower_bound(row2[id].begin(), row2[id].end(), pii(L, -INF)) - row2[id].begin();
| ^~~
rainbow.cpp:8:12: error: expected primary-expression before 'long'
8 | #define ll long long int
| ^~~~
rainbow.cpp:9:22: note: in expansion of macro 'll'
9 | #define pii pair<ll, ll>
| ^~
rainbow.cpp:88:58: note: in expansion of macro 'pii'
88 | ll lid = lower_bound(row2[id].begin(), row2[id].end(), pii(L, -INF)) - row2[id].begin();
| ^~~
rainbow.cpp:88:12: error: 'lower_bound' was not declared in this scope
88 | ll lid = lower_bound(row2[id].begin(), row2[id].end(), pii(L, -INF)) - row2[id].begin();
| ^~~~~~~~~~~
rainbow.cpp:8:12: error: expected primary-expression before 'long'
8 | #define ll long long int
| ^~~~
rainbow.cpp:9:18: note: in expansion of macro 'll'
9 | #define pii pair<ll, ll>
| ^~
rainbow.cpp:89:58: note: in expansion of macro 'pii'
89 | ll rid = upper_bound(row2[id].begin(), row2[id].end(), pii(R, INF)) - row2[id].begin() - 1;
| ^~~
rainbow.cpp:8:12: error: expected primary-expression before 'long'
8 | #define ll long long int
| ^~~~
rainbow.cpp:9:22: note: in expansion of macro 'll'
9 | #define pii pair<ll, ll>
| ^~
rainbow.cpp:89:58: note: in expansion of macro 'pii'
89 | ll rid = upper_bound(row2[id].begin(), row2[id].end(), pii(R, INF)) - row2[id].begin() - 1;
| ^~~
rainbow.cpp:89:12: error: 'upper_bound' was not declared in this scope
89 | ll rid = upper_bound(row2[id].begin(), row2[id].end(), pii(R, INF)) - row2[id].begin() - 1;
| ^~~~~~~~~~~
rainbow.cpp:93:3: error: 'assert' was not declared in this scope
93 | assert((rid - lid + 1) % 2 == 0);
| ^~~~~~
rainbow.cpp:3:1: note: 'assert' is defined in header '<cassert>'; did you forget to '#include <cassert>'?
2 | #include "rainbow.h"
+++ |+#include <cassert>
3 | #define rep(i, a, b) for(int i = a; i <= b; i++)
rainbow.cpp: In function 'long long int count_col(int, int, int)':
rainbow.cpp:97:24: error: 'col2' was not declared in this scope
97 | ll lid = lower_bound(col2[id].begin(), col2[id].end(), pii(L, -INF)) - col2[id].begin();
| ^~~~
rainbow.cpp:9:13: error: 'pair' was not declared in this scope
9 | #define pii pair<ll, ll>
| ^~~~
rainbow.cpp:97:58: note: in expansion of macro 'pii'
97 | ll lid = lower_bound(col2[id].begin(), col2[id].end(), pii(L, -INF)) - col2[id].begin();
| ^~~
rainbow.cpp:9:13: note: 'std::pair' is defined in header '<utility>'; did you forget to '#include <utility>'?
9 | #define pii pair<ll, ll>
| ^~~~
rainbow.cpp:97:58: note: in expansion of macro 'pii'
97 | ll lid = lower_bound(col2[id].begin(), col2[id].end(), pii(L, -INF)) - col2[id].begin();
| ^~~
rainbow.cpp:8:12: error: expected primary-expression before 'long'
8 | #define ll long long int
| ^~~~
rainbow.cpp:9:18: note: in expansion of macro 'll'
9 | #define pii pair<ll, ll>
| ^~
rainbow.cpp:97:58: note: in expansion of macro 'pii'
97 | ll lid = lower_bound(col2[id].begin(), col2[id].end(), pii(L, -INF)) - col2[id].begin();
| ^~~
rainbow.cpp:8:12: error: expected primary-expression before 'long'
8 | #define ll long long int
| ^~~~
rainbow.cpp:9:22: note: in expansion of macro 'll'
9 | #define pii pair<ll, ll>
| ^~
rainbow.cpp:97:58: note: in expansion of macro 'pii'
97 | ll lid = lower_bound(col2[id].begin(), col2[id].end(), pii(L, -INF)) - col2[id].begin();
| ^~~
rainbow.cpp:97:12: error: 'lower_bound' was not declared in this scope
97 | ll lid = lower_bound(col2[id].begin(), col2[id].end(), pii(L, -INF)) - col2[id].begin();
| ^~~~~~~~~~~
rainbow.cpp:8:12: error: expected primary-expression before 'long'
8 | #define ll long long int
| ^~~~
rainbow.cpp:9:18: note: in expansion of macro 'll'
9 | #define pii pair<ll, ll>
| ^~
rainbow.cpp:98:58: note: in expansion of macro 'pii'
98 | ll rid = upper_bound(col2[id].begin(), col2[id].end(), pii(R, INF)) - col2[id].begin() - 1;
| ^~~
rainbow.cpp:8:12: error: expected primary-expression before 'long'
8 | #define ll long long int
| ^~~~
rainbow.cpp:9:22: note: in expansion of macro 'll'
9 | #define pii pair<ll, ll>
| ^~
rainbow.cpp:98:58: note: in expansion of macro 'pii'
98 | ll rid = upper_bound(col2[id].begin(), col2[id].end(), pii(R, INF)) - col2[id].begin() - 1;
| ^~~
rainbow.cpp:98:12: error: 'upper_bound' was not declared in this scope
98 | ll rid = upper_bound(col2[id].begin(), col2[id].end(), pii(R, INF)) - col2[id].begin() - 1;
| ^~~~~~~~~~~
rainbow.cpp:102:3: error: 'assert' was not declared in this scope
102 | assert((rid - lid + 1) % 2 == 0);
| ^~~~~~
rainbow.cpp:102:3: note: 'assert' is defined in header '<cassert>'; did you forget to '#include <cassert>'?
rainbow.cpp: In function 'int colours(int, int, int, int)':
rainbow.cpp:106:11: error: 'min' was not declared in this scope
106 | int u = min(ar, br), d = max(ar, br);
| ^~~
rainbow.cpp:108:22: error: 'd' was not declared in this scope
108 | ll count = area(u, d, l, r);
| ^
rainbow.cpp:108:28: error: 'r' was not declared in this scope
108 | ll count = area(u, d, l, r);
| ^