| Task: | Forest density |
| Sender: | aalto26dm_033 |
| Submission time: | 2026-09-21 16:33:24 +0300 |
| Language: | C++ (C++20) |
| Status: | READY |
| Result: | WRONG ANSWER |
| test | verdict | time | |
|---|---|---|---|
| #1 | WRONG ANSWER | 0.00 s | details |
| #2 | WRONG ANSWER | 0.30 s | details |
| #3 | WRONG ANSWER | 0.30 s | details |
Code
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
void add(int k, int x, vector<long long>& tree, int n) {
k = k - 1 + n;
tree[k] = x;
for (int i = k/2; i >= 1; i /= 2) {
tree[i] = tree[i * 2] + tree[i * 2 + 1];
}
}
long long sum(int a, int b, const vector<long long>& tree, int n) {
int l = a - 1 + n;
int r = b + n;
long long res = 0;
while (l < r) {
if (l % 2 != 0) res += tree[l++];
if (r % 2 != 0) res += tree[--r];
l /= 2;
r /= 2;
}
return res;
}
int main() {
int n, q;
cin >> n >> q;
vector<long long> segment_tree(n*2, 0);
for (int i = n; i < n*2; i++) {
cin >> segment_tree[i];
}
for(int i = n - 1; i > 0; i--){
segment_tree[i] = segment_tree[i* 2] + segment_tree[i * 2 + 1];
}
int a,b,c;
for(int i = 0; i < q; i++){
cin >> a >> b >> c;
if(a == 1){
add(b, c, segment_tree, n);
}
else{
cout << sum(b,c,segment_tree,n) << endl;
}
}
}Test details
Test 1
Verdict: WRONG ANSWER
| input |
|---|
| 10 100 **.*.*.**. *.**.*..*. .*****.**. **....***. ... |
| correct output |
|---|
| 10 14 5 7 8 ... |
| user output |
|---|
| 0 0 0 0 0 ... |
Feedback: Incorrect character on line 1 col 1: expected "10", got "0"
Test 2
Verdict: WRONG ANSWER
| input |
|---|
| 1000 200000 **.**.****..**.***..**.***.**.... |
| correct output |
|---|
| 41079 2824 15631 1548 8483 ... |
| user output |
|---|
| 0 0 0 0 0 ... |
Feedback: Incorrect character on line 1 col 1: expected "41079", got "0"
Test 3
Verdict: WRONG ANSWER
| input |
|---|
| 1000 200000 ******************************... |
| correct output |
|---|
| 1000000 1000000 1000000 1000000 1000000 ... |
| user output |
|---|
| 0 0 0 0 0 ... |
Feedback: Incorrect character on line 1 col 1: expected "1000000", got "0"
