This documentation is automatically generated by competitive-verifier/competitive-verifier
// clang-format off
// competitive-verifier: PROBLEM https://judge.yosupo.jp/problem/static_range_sum
// clang-format on
#include <iostream>
#include "../../dp/cumulative-sum.hpp"
using namespace std;
int main() {
int n, q;
cin >> n >> q;
CumulativeSum<long long> cs(n);
for (int i = 0; i < n; i++) {
int x;
cin >> x;
cs.add(i, x);
}
cs.build();
for (int i = 0; i < q; i++) {
int l, r;
cin >> l >> r;
cout << cs.fold(l, r) << "\n";
}
}
#line 1 "test/verify/yosupo-static-range-sum.test.cpp"
// clang-format off
// competitive-verifier: PROBLEM https://judge.yosupo.jp/problem/static_range_sum
// clang-format on
#include <iostream>
#line 2 "dp/cumulative-sum.hpp"
#include <algorithm>
#include <cstddef>
#include <vector>
template <class T>
struct CumulativeSum {
std::vector<T> data;
CumulativeSum() = default;
explicit CumulativeSum(std::size_t sz) : data(sz + 1, 0) {}
void add(int k, const T& x) { data[k + 1] += x; }
void build() {
for (int i = 1; i < data.size(); i++) {
data[i] += data[i - 1];
}
}
T fold(int r) const {
if (r < 0) return 0;
return data[std::min(r, (int)data.size() - 1)];
}
T fold(int l, int r) const { return fold(r) - fold(l); }
};
#line 8 "test/verify/yosupo-static-range-sum.test.cpp"
using namespace std;
int main() {
int n, q;
cin >> n >> q;
CumulativeSum<long long> cs(n);
for (int i = 0; i < n; i++) {
int x;
cin >> x;
cs.add(i, x);
}
cs.build();
for (int i = 0; i < q; i++) {
int l, r;
cin >> l >> r;
cout << cs.fold(l, r) << "\n";
}
}
| Env | Name | Status | Elapsed | Memory |
|---|---|---|---|---|
| g++ | example_00 |
|
2 ms | 4 MB |
| g++ | max_random_00 |
|
869 ms | 7 MB |
| g++ | max_random_01 |
|
1012 ms | 7 MB |
| g++ | max_random_02 |
|
869 ms | 7 MB |
| g++ | max_random_03 |
|
1393 ms | 7 MB |
| g++ | max_random_04 |
|
1178 ms | 7 MB |
| g++ | random_00 |
|
653 ms | 6 MB |
| g++ | random_01 |
|
1132 ms | 7 MB |
| g++ | random_02 |
|
785 ms | 4 MB |
| g++ | random_03 |
|
157 ms | 7 MB |
| g++ | random_04 |
|
211 ms | 6 MB |
| clang++ | example_00 |
|
2 ms | 4 MB |
| clang++ | max_random_00 |
|
1046 ms | 7 MB |
| clang++ | max_random_01 |
|
858 ms | 7 MB |
| clang++ | max_random_02 |
|
1155 ms | 7 MB |
| clang++ | max_random_03 |
|
1045 ms | 7 MB |
| clang++ | max_random_04 |
|
1011 ms | 7 MB |
| clang++ | random_00 |
|
671 ms | 6 MB |
| clang++ | random_01 |
|
743 ms | 7 MB |
| clang++ | random_02 |
|
825 ms | 4 MB |
| clang++ | random_03 |
|
184 ms | 7 MB |
| clang++ | random_04 |
|
226 ms | 6 MB |