Compile Error
foo.cc:3:29: error: 'vector' does not name a type 3 | struct SegmentTree { int n; vector<ll> st, lazy; | ^~~~~~ foo.cc:10:39: error: 'vector' does not name a type 10 | void build(int p, int l, int r, const vector<ll>& a) { | ^~~~~~ foo.cc:10:45: error: expected ',' or '...' before '<' token 10 | void build(int p, int l, int r, const vector<ll>& a) { | ^ foo.cc:21:19: error: 'll' has not been declared 21 | void apply(int p, ll val) { | ^~ foo.cc:34:48: error: 'll' has not been declared 34 | void update(int p, int l, int r, int i, int j, ll val) { | ^~ foo.cc:47:1: error: 'll' does not name a type 47 | ll query(int p, int l, int r, int i, int j) { | ^~ foo.cc: In constructor 'SegmentTree::SegmentTree(int)': foo.cc:6:5: error: 'st' was not declared in this scope; did you mean 'std'? 6 | st.assign(4*n+4, 0); | ^~ | std foo.cc:7:5: error: 'lazy' was not declared in this scope 7 | lazy.assign(4*n+4, 0); | ^~~~ foo.cc: In member function 'void SegmentTree::build(int, int, int, int)': foo.cc:12:9: error: 'st' was not declared in this scope; did you mean 'std'? 12 | st[p] = a[l]; | ^~ | std foo.cc:12:17: error: 'a' was not declared in this scope 12 | st[p] = a[l]; | ^ foo.cc:16:23: error: 'a' was not declared in this scope 16 | build(p<<1, l, m, a); | ^ foo.cc:18:5: error: 'st' was not declared in this scope; did you mean 'std'? 18 | st[p] = max(st[p<<1], st[p<<1|1]); | ^~ | std foo.cc:18:13: error: 'max' was not declared in this scope; did you mean 'std::max'? 18 | st[p] = max(st[p<<1], st[p<<1|1]); | ^~~ | std::max In file included from /usr/include/c++/13/algorithm:61, from /usr/include/x86_64-linux-gnu/c++/13/bits/stdc++.h:51, from foo.cc:1: /usr/include/c++/13/bits/stl_algo.h:5805:5: note: 'std::max' declared here 5805 | max(initializer_list<_Tp> __l, _Compare __comp) | ^~~ foo.cc: In member function 'void SegmentTree::apply(int, int)': foo.cc:22:5: error: 'st' was not declared in this scope; did you mean 'std'? 22 | st[p] += val; | ^~ | std foo.cc:23:5: error: 'lazy' was not declared in this scope 23 | lazy[p] += val; | ^~~~ foo.cc: In member function 'void SegmentTree::push(int)': foo.cc:27:9: error: 'lazy' was not declared in this scope 27 | if (lazy[p] != 0) { | ^~~~ foo.cc: In member function 'void SegmentTree::update(int, int, int, int, int, int)': foo.cc:44:5: error: 'st' was not declared in this scope; did you mean 'std'? 44 | st[p] = max(st[p<<1], st[p<<1|1]); | ^~ | std foo.cc:44:13: error: 'max' was not declared in this scope; did you mean 'std::max'? 44 | st[p] = max(st[p<<1], st[p<<1|1]); | ^~~ | std::max /usr/include/c++/13/bits/stl_algo.h:5805:5: note: 'std::max' declared here 5805 | max(initializer_list<_Tp> __l, _Compare __comp) | ^~~ foo.cc: In function 'int main()': foo.cc:57:14: error: 'ios' has not been declared 57 | int main() { ios::sync_with_stdio(false); cin.tie(NULL); | ^~~ foo.cc:57:43: error: 'cin' was not declared in this scope; did you mean 'std::cin'? 57 | int main() { ios::sync_with_stdio(false); cin.tie(NULL); | ^~~ | std::cin In file included from /usr/include/x86_64-linux-gnu/c++/13/bits/stdc++.h:146: /usr/include/c++/13/iostream:62:18: note: 'std::cin' declared here 62 | extern istream cin; ///< Linked to standard input | ^~~ foo.cc:64:5: error: 'vector' was not declared in this scope 64 | vector<ll> a(N+1); | ^~~~~~ foo.cc:64:5: note: suggested alternatives: In file included from /usr/include/c++/13/vector:66, from /usr/include/c++/13/functional:64, from /usr/include/x86_64-linux-gnu/c++/13/bits/stdc++.h:53: /usr/include/c++/13/bits/stl_vector.h:428:11: note: 'std::vector' 428 | class vector : protected _Vector_base<_Tp, _Alloc> | ^~~~~~ /usr/include/c++/13/vector:86:13: note: 'std::pmr::vector' 86 | using vector = std::vector<_Tp, polymorphic_allocator<_Tp>>; | ^~~~~~ foo.cc:64:12: error: 'll' was not declared in this scope 64 | vector<ll> a(N+1); | ^~ foo.cc:64:16: error: 'a' was not declared in this scope 64 | vector<ll> a(N+1); | ^ foo.cc:76:15: error: expected ';' before 'X' 76 | ll X; | ^~ | ; foo.cc:77:20: error: 'X' was not declared in this scope 77 | cin >> X; | ^ foo.cc:80:15: error: expected ';' before 'ans' 80 | ll ans = st.query(1, 1, N, L, R); | ^~~~ | ; foo.cc:81:13: error: 'cout' was not declared in this scope; did you mean 'std::cout'? 81 | cout << ans << '\n'; | ^~~~ | std::cout /usr/include/c++/13/iostream:63:18: note: 'std::cout' declared here 63 | extern ostream cout; ///< Linked to standard output | ^~~~ foo.cc:81:21: error: 'ans' was not declared in this scope; did you mean 'abs'? 81 | cout << ans << '\n'; | ^~~ | abs
Code
#include <bits/stdc++.h> using namespace std; typedef long long ll;
struct SegmentTree { int n; vector<ll> st, lazy;
SegmentTree(int _n) : n(_n) {
st.assign(4*n+4, 0);
lazy.assign(4*n+4, 0);
}
void build(int p, int l, int r, const vector<ll>& a) {
if (l == r) {
st[p] = a[l];
return;
}
int m = (l + r) >> 1;
build(p<<1, l, m, a);
build(p<<1|1, m+1, r, a);
st[p] = max(st[p<<1], st[p<<1|1]);
}
void apply(int p, ll val) {
st[p] += val;
lazy[p] += val;
}
void push(int p) {
if (lazy[p] != 0) {
apply(p<<1, lazy[p]);
apply(p<<1|1, lazy[p]);
lazy[p] = 0;
}
}
void update(int p, int l, int r, int i, int j, ll val) {
if (i > r || j < l) return;
if (l >= i && r <= j) {
apply(p, val);
return;
}
push(p);
int m = (l + r) >> 1;
update(p<<1, l, m, i, j, val);
update(p<<1|1, m+1, r, i, j, val);
st[p] = max(st[p<<1], st[p<<1|1]);
}
ll query(int p, int l, int r, int i, int j) {
if (i > r || j < l) return LLONG_MIN;
if (l >= i && r <= j) return st[p];
push(p);
int m = (l + r) >> 1;
return max(query(p<<1, l, m, i, j), query(p<<1|1, m+1, r, i, j));
}
};
int main() { ios::sync_with_stdio(false); cin.tie(NULL);
int T;
cin >> T;
while (T--) {
int N;
cin >> N;
vector<ll> a(N+1);
for (int i = 1; i <= N; i++) {
cin >> a[i];
}
SegmentTree st(N);
st.build(1, 1, N, a);
int Q;
cin >> Q;
while (Q--) {
int type, L, R;
cin >> type >> L >> R;
if (type == 1) {
ll X;
cin >> X;
st.update(1, 1, N, L, R, X);
} else if (type == 2) {
ll ans = st.query(1, 1, N, L, R);
cout << ans << '\n';
}
}
}
return 0;
}
Information
- Submit By
- Type
- Submission
- Problem
- P1211 Range MAX
- Language
- C++17 (G++ 13.2.0)
- Submit At
- 2025-07-10 10:25:06
- Judged At
- 2025-07-10 10:25:06
- Judged By
- Score
- 0
- Total Time
- 0ms
- Peak Memory
- 0 Bytes