QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#133042#6630. Triangle Collectiontatyam#0 2ms7836kbC++171.5kb2023-08-01 13:49:062024-07-04 01:04:56

Judging History

你现在查看的是最新测评结果

  • [2024-07-04 01:04:56]
  • 评测
  • 测评结果:0
  • 用时:2ms
  • 内存:7836kb
  • [2023-08-10 23:21:45]
  • System Update: QOJ starts to keep a history of the judgings of all the submissions.
  • [2023-08-01 13:49:06]
  • 提交

answer

#include <bits/stdc++.h>
using namespace std;
#define all(a) begin(a), end(a)
using ll = long long;

/*
    l no nagai hou ga 3 honme no jouken ga yurui
    l no nagai hou kara, kisuu de amatteiru bou wo hirotteiku
    kore de hiroenai bou ha zettai ni tukaenai
    nokori ha pair ni natteru kara, l no mijikai pair kara kuzusu
    mod 3 dake nokotte, hoka ha zenbu tukaeru
    zettai ni tukaenai bou no kazu wo kazoeru
    segtree ni noru?
    
    l=1, l<=1, l=2, l=3, l<=3, ...
    zougen ga atte, ruisekiwa sita toki no minimum ga kotae
*/
struct T {
    ll add = 0, min = 0;
};
T operator+(T a, T b) {
    return {a.add + b.add, min(b.min, b.add + a.min)};
}
#ifdef DEBUG
const ll MAX = 1 << 3;
#else
const ll MAX = 1 << 19;
#endif
T seg[MAX * 2];
void add(ll i, ll x) {
    i += MAX;
    seg[i].min = min(0LL, seg[i].add += x);
    while(i >>= 1) seg[i] = seg[i << 1] + seg[i << 1 | 1];
}
ll get() {
    return seg[1].min;
}
int main() {
    cin.tie(0)->sync_with_stdio(0);
    ll N, Q;
    cin >> N >> Q;
    vector<ll> C(N);
    for(ll& c : C) cin >> c;
    ll num_edge = 0;
    C.insert(C.begin(), 0);
    for(ll l = 1; l <= N; l++) {
        ll& c = C[l];
        add(l, -(c % 2));
        add(l * 2 - 1, c / 2);
        num_edge += c;
    }
    
    while(Q--) {
        ll l, d;
        cin >> l >> d;
        ll& c = C[l];
        add(l, c % 2 - (c + d) % 2);
        add(l * 2 - 1, (c + d) / 2 - (c / 2));
        num_edge += d;
        cout << (num_edge + get()) / 3 << '\n';
    }
}

Details

Tip: Click on the bar to expand more detailed information

Subtask #1:

score: 0
Wrong Answer

Test #1:

score: 5
Accepted
time: 0ms
memory: 7620kb

input:

1 23
1485
1 -12
1 -30
1 -20
1 6
1 24
1 5
1 31
1 14
1 -34
1 -22
1 -45
1 37
1 46
1 9
1 22
1 -9
1 9
1 -46
1 -47
1 39
1 36
1 -36
1 50

output:

491
481
474
476
484
486
496
501
489
482
467
479
495
498
505
502
505
490
474
487
499
487
504

result:

ok 23 numbers

Test #2:

score: 0
Accepted
time: 1ms
memory: 7744kb

input:

12 1
13 79 59 21 32 13 85 40 74 15 49 56
3 31

output:

189

result:

ok 1 number(s): "189"

Test #3:

score: 0
Accepted
time: 0ms
memory: 7676kb

input:

50 1995
3 2 3 0 3 0 5 2 2 2 3 0 4 5 4 4 3 0 1 0 5 5 3 4 3 3 1 1 4 5 5 4 1 1 3 1 4 2 1 3 4 1 5 5 0 3 0 3 4 3
49 1
48 -2
45 3
49 0
31 -4
13 0
15 -2
48 0
38 -2
8 0
48 3
12 1
22 -4
7 -5
5 -1
3 1
15 -2
37 -4
39 -1
24 -2
11 2
35 -2
17 -1
41 -2
20 5
8 0
18 0
26 -3
25 -3
49 -5
31 4
46 -2
38 0
42 3
16 -4
5 3...

output:

44
44
45
45
43
43
43
43
42
42
43
43
42
40
40
40
40
38
38
37
38
37
37
36
38
38
38
37
36
34
36
35
35
36
35
36
36
37
36
37
37
38
38
38
39
38
37
36
36
35
36
36
36
36
35
35
35
35
33
35
35
34
34
33
34
35
36
36
35
35
37
36
36
36
35
35
35
35
35
36
37
37
37
36
37
36
38
38
38
39
39
38
38
38
37
39
39
41
40
40
...

result:

ok 1995 numbers

Test #4:

score: -5
Wrong Answer
time: 1ms
memory: 7784kb

input:

50 1996
0 1 0 1 2 2 4 1 3 2 5 3 4 1 5 5 1 2 0 2 1 2 5 4 3 1 4 5 1 2 3 5 5 1 4 4 2 3 5 3 1 3 2 3 3 0 4 2 5 0
29 4
50 3
30 2
6 0
26 -1
13 -2
34 1
5 2
23 -5
45 1
30 -4
17 3
40 1
49 -5
24 -1
35 -2
12 -2
30 1
3 0
5 -3
38 0
14 -1
38 2
25 -3
25 0
26 2
20 1
24 2
43 1
27 -2
38 -2
12 3
43 1
4 3
13 1
25 2
26 -...

output:

44
45
46
46
46
45
45
46
44
45
43
44
45
43
43
42
41
42
42
41
41
40
41
40
40
41
41
42
42
41
41
42
42
43
43
44
44
44
44
45
45
46
47
47
47
46
46
44
44
44
44
44
44
44
43
43
42
41
41
42
43
43
45
45
45
45
45
45
45
44
43
44
44
44
45
44
45
46
45
44
43
43
43
43
43
44
44
44
46
45
43
44
44
44
43
44
45
44
44
44
...

result:

wrong answer 535th numbers differ - expected: '46', found: '45'

Subtask #2:

score: 0
Skipped

Dependency #1:

0%

Subtask #3:

score: 0
Wrong Answer

Test #28:

score: 0
Wrong Answer
time: 2ms
memory: 7792kb

input:

1999 2000
1 1 1 1 0 2 0 2 1 0 2 1 2 2 2 1 2 0 0 1 2 2 0 1 0 1 0 2 0 0 2 1 1 1 1 0 1 2 1 2 1 1 1 1 1 0 2 2 0 2 1 1 2 0 0 2 0 0 2 1 2 0 0 1 1 2 0 2 2 2 1 2 0 2 1 2 0 1 2 2 2 1 1 2 1 1 1 1 0 0 1 1 0 1 2 1 0 0 2 0 2 2 2 0 1 1 2 0 0 1 0 0 2 1 2 1 2 0 1 1 2 2 0 0 1 2 2 1 2 1 2 2 2 0 0 1 1 2 1 1 2 2 2 2 2 ...

output:

660
660
660
661
661
661
661
660
660
660
660
661
662
662
663
663
662
661
662
662
661
660
661
660
660
660
661
661
661
661
662
661
661
660
661
660
659
658
658
659
659
658
659
660
660
660
660
660
660
659
659
659
659
659
659
659
659
660
659
658
658
658
658
657
657
657
658
657
656
657
657
657
656
656
655
...

result:

wrong answer 86th numbers differ - expected: '657', found: '658'

Subtask #4:

score: 0
Wrong Answer

Test #35:

score: 0
Wrong Answer
time: 0ms
memory: 7836kb

input:

2000 1999
0 1 0 3 0 1 0 0 0 0 0 0 0 2 0 0 0 0 3 1 1 0 2 0 0 3 0 0 0 0 0 4 0 0 1 0 1 0 0 0 0 1 2 1 0 0 0 0 7 0 1 3 1 0 1 1 0 3 2 1 0 1 1 3 3 1 0 2 0 0 0 0 0 0 0 0 1 0 0 0 2 0 0 0 0 0 1 2 3 0 1 0 3 3 0 0 0 0 1 0 1 2 0 0 2 2 0 1 2 1 2 0 0 0 1 1 0 1 2 0 0 0 0 2 0 5 0 0 0 0 0 1 0 0 2 0 1 2 0 1 0 0 0 2 0 ...

output:

666
666
666
666
666
666
666
666
666
666
666
666
666
666
666
666
666
666
666
666
666
666
666
666
666
666
666
666
666
666
666
666
666
666
666
666
666
666
666
666
666
666
666
666
665
665
665
665
665
665
665
665
665
665
665
665
665
665
665
665
665
666
666
666
666
666
666
666
666
666
666
666
666
666
665
...

result:

wrong answer 78th numbers differ - expected: '666', found: '665'

Subtask #5:

score: 0
Skipped

Dependency #1:

0%