This documentation is automatically generated by competitive-verifier/competitive-verifier
// competitive-verifier: PROBLEM https://judge.yosupo.jp/problem/point_add_range_sum
use proconio::input;
use rust_procon_lib::data_structure::segment_tree::segment_tree::SegmentTree;
fn main() {
input! {
n: usize,
q: usize,
a: [usize; n],
}
let mut seg = SegmentTree::new(n, 0, |x, y| x + y);
seg.construct(&a);
for _ in 0..q {
input! {
t: usize,
}
match t {
0 => {
input! {
p: usize,
x: usize,
}
seg.update(p, seg.get(p) + x);
}
1 => {
input! {
l: usize,
r: usize,
}
println!("{}", seg.prod(l, r));
}
_ => unreachable!(),
}
}
}
| Env | Name | Status | Elapsed | Memory |
|---|---|---|---|---|
| Rust | example_00 |
|
5 ms | 2 MB |
| Rust | max_random_00 |
|
406 ms | 27 MB |
| Rust | max_random_01 |
|
360 ms | 27 MB |
| Rust | max_random_02 |
|
360 ms | 27 MB |
| Rust | max_random_03 |
|
380 ms | 27 MB |
| Rust | max_random_04 |
|
365 ms | 27 MB |
| Rust | random_00 |
|
346 ms | 22 MB |
| Rust | random_01 |
|
327 ms | 24 MB |
| Rust | random_02 |
|
268 ms | 10 MB |
| Rust | random_03 |
|
50 ms | 17 MB |
| Rust | random_04 |
|
90 ms | 13 MB |
| Rust | small_00 |
|
6 ms | 2 MB |
| Rust | small_01 |
|
6 ms | 2 MB |
| Rust | small_02 |
|
6 ms | 2 MB |
| Rust | small_03 |
|
6 ms | 2 MB |
| Rust | small_04 |
|
5 ms | 2 MB |
| Rust | small_05 |
|
6 ms | 2 MB |
| Rust | small_06 |
|
6 ms | 2 MB |
| Rust | small_07 |
|
5 ms | 2 MB |
| Rust | small_08 |
|
6 ms | 2 MB |
| Rust | small_09 |
|
6 ms | 2 MB |