Submission #69344603
Source Code Expand
// 累積和を使って式変形をしたらすぐにできた…。 // [教訓] 図表を描いても見えないときは式変形しよう。 #include <iostream> #include <string> #include <algorithm> #include <functional> #include <vector> #include <stack> #include <queue> #include <set> #include <map> #include <tuple> #include <cstdio> #include <cmath> #include <cassert> #define rep(i, n) for(i = 0; i < n; i++) #define int long long using namespace std; int n, q; int a[300000]; int b[300001]; int rb1[300002]; int rb2[300002]; //[l, r) int solve(int l, int r) { int res1 = rb2[r + 1] - rb2[l + 1]; int res2 = l * (rb1[r + 1] - rb1[l + 1]); int res3 = rb2[r] - rb2[l]; int res4 = r * (rb1[r] - rb1[l]); return res1 - res2 + res3 - res4; } signed main() { int i; cin >> n >> q; rep(i, n) cin >> a[i]; rep(i, n) b[i + 1] = b[i] + a[i]; rep(i, n + 1) rb1[i + 1] = rb1[i] + b[i]; rep(i, n + 1) rb2[i + 1] = rb2[i] + i * b[i]; rep(i, q) { int l, r; cin >> l >> r; l--; cout << solve(l, r) << endl; } return 0; }
Submission Info
Submission Time | |
---|---|
Task | E - Sum of Subarrays |
User | startcpp |
Language | C++ 20 (gcc 12.2) |
Score | 475 |
Code Size | 1098 Byte |
Status | AC |
Exec Time | 465 ms |
Memory | 15484 KiB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 475 / 475 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | sample00.txt |
All | sample00.txt, testcase00.txt, testcase01.txt, testcase02.txt, testcase03.txt, testcase04.txt, testcase05.txt, testcase06.txt, testcase07.txt, testcase08.txt, testcase09.txt, testcase10.txt, testcase11.txt, testcase12.txt, testcase13.txt, testcase14.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
sample00.txt | AC | 1 ms | 3624 KiB |
testcase00.txt | AC | 1 ms | 3492 KiB |
testcase01.txt | AC | 343 ms | 3428 KiB |
testcase02.txt | AC | 372 ms | 5472 KiB |
testcase03.txt | AC | 237 ms | 5316 KiB |
testcase04.txt | AC | 204 ms | 9132 KiB |
testcase05.txt | AC | 187 ms | 11512 KiB |
testcase06.txt | AC | 102 ms | 4704 KiB |
testcase07.txt | AC | 340 ms | 5752 KiB |
testcase08.txt | AC | 465 ms | 14844 KiB |
testcase09.txt | AC | 465 ms | 14844 KiB |
testcase10.txt | AC | 458 ms | 14880 KiB |
testcase11.txt | AC | 460 ms | 14848 KiB |
testcase12.txt | AC | 457 ms | 14916 KiB |
testcase13.txt | AC | 464 ms | 14800 KiB |
testcase14.txt | AC | 417 ms | 15484 KiB |