QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#400158#6630. Triangle CollectionSorahISA0 31ms3664kbC++202.1kb2024-04-27 02:32:172024-04-27 02:32:17

Judging History

This is the latest submission verdict.

  • [2024-04-27 02:32:17]
  • Judged
  • Verdict: 0
  • Time: 31ms
  • Memory: 3664kb
  • [2024-04-27 02:32:17]
  • Submitted

answer

#ifndef SorahISA
#define SorahISA
#include SorahISA __FILE__ SorahISA

void solve() {
    int N, Q; cin >> N >> Q;
    
    vector<int> C(N+1);
    for (int i = 1; i <= N; ++i) cin >> C[i];
    
    for (int q = 1; q <= Q; ++q) {
        int l, d; cin >> l >> d, C[l] += d;
        
        int ans = 0;
        for (int i = 1, j = 0, sum = 0; i <= N; ++i) {
            if (C[i] == 1) continue;
            while (j <= min(N, 2*i-1)) sum += (C[j++] == 1);
            int tmp = min(C[i] / 2, (C[i] + sum) / 3);
            // debug(i, sum, tmp);
            ans += tmp, sum = C[i] + sum - 3 * tmp;
        }
        cout << ans << "\n";
    }
}

int32_t main() {
    fastIO();
    
    int t = 1; // cin >> t;
    for (int _ = 1; _ <= t; ++_) {
        solve();
    }
    
    return 0;
}

#else

#ifdef local
#define _GLIBCXX_DEBUG 1
#endif
#pragma GCC optimize("Ofast", "unroll-loops")
#include <bits/stdc++.h>
using namespace std;

using i64 = long long;
#define int i64
using f80 = long double;
#define double f80
using pii = pair<int, int>;
template <typename T> using Prior = std::priority_queue<T>;
template <typename T> using prior = std::priority_queue<T, vector<T>, greater<T>>;

#define eb emplace_back
#define ef emplace_front
#define ee emplace
#define pb pop_back
#define pf pop_front
#define ALL(x) begin(x), end(x)
#define RALL(x) rbegin(x), rend(x)
#define SZ(x) ((int)(x).size())

#ifdef local
#define fastIO() void()
#define debug(...) \
    fprintf(stderr, "\u001b[33m"), \
    fprintf(stderr, "At [%s], line %d: (%s) = ", __FUNCTION__, __LINE__, #__VA_ARGS__), \
    _do(__VA_ARGS__), \
    fprintf(stderr, "\u001b[0m")
template <typename T> void _do(T &&_t) { cerr << _t << "\n"; }
template <typename T, typename ...U> void _do(T &&_t, U &&..._u) { cerr << _t << ", ", _do(_u...); }
#else
#define fastIO() ios_base::sync_with_stdio(0), cin.tie(0)
#define debug(...) void()
#endif

template <typename T, typename U> bool chmin(T &lhs, U rhs) { return lhs > rhs ? lhs = rhs, 1 : 0; }
template <typename T, typename U> bool chmax(T &lhs, U rhs) { return lhs < rhs ? lhs = rhs, 1 : 0; }

#endif

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: 3564kb

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: 0ms
memory: 3560kb

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: 3564kb

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: 0
Accepted
time: 1ms
memory: 3636kb

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:

ok 1996 numbers

Test #5:

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

input:

50 1997
39 35 37 37 36 36 38 37 36 36 37 40 37 39 40 37 38 35 36 36 37 36 40 36 40 37 40 37 37 38 39 35 40 36 38 40 35 36 39 38 38 37 35 37 36 37 36 36 36 37
3 0
13 3
33 -3
24 2
25 0
9 3
18 2
11 0
28 2
39 -2
9 -2
5 -1
2 0
25 -3
25 3
47 1
10 4
34 2
8 -1
32 0
47 -2
17 -2
20 0
3 3
39 3
1 -4
18 2
35 0
3...

output:

620
621
620
621
621
622
622
622
623
622
622
621
621
620
621
622
623
624
623
623
623
622
622
623
624
623
623
623
622
622
623
623
624
624
624
625
624
623
622
621
620
619
618
617
615
616
617
617
618
616
616
617
616
616
616
617
619
618
617
617
617
618
619
618
619
618
619
620
619
619
620
621
620
620
621
...

result:

ok 1997 numbers

Test #6:

score: -5
Wrong Answer
time: 11ms
memory: 3600kb

input:

2000 2000
2 1 2 1 4 1 5 1 0 0 1 2 0 2 2 0 2 1 0 0 1 0 1 1 1 0 4 1 0 0 5 2 1 0 1 6 0 0 1 1 1 0 0 0 0 1 1 0 0 2 0 0 1 1 0 1 1 1 0 0 1 0 3 0 0 0 2 1 0 1 2 0 0 3 2 1 0 0 0 0 1 1 0 1 2 0 0 0 0 0 2 3 0 2 0 4 0 1 2 0 0 0 1 0 1 5 0 0 0 4 0 0 1 2 3 0 1 0 1 0 1 0 2 0 1 0 1 2 1 1 2 1 0 2 0 0 0 2 3 6 1 0 0 0 1 ...

output:

649
649
649
649
649
649
649
649
648
648
649
649
649
649
649
649
649
650
650
650
650
650
650
650
650
649
650
650
649
650
650
650
650
650
650
650
650
649
649
649
649
648
650
650
650
650
650
650
649
649
649
649
650
650
650
650
650
650
650
650
650
651
651
651
651
651
651
651
651
651
651
651
650
652
652
...

result:

wrong answer 1166th numbers differ - expected: '659', found: '658'

Subtask #2:

score: 0
Skipped

Dependency #1:

0%

Subtask #3:

score: 0
Time Limit Exceeded

Test #28:

score: 5
Accepted
time: 11ms
memory: 3588kb

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:

ok 2000 numbers

Test #29:

score: 0
Accepted
time: 9ms
memory: 3636kb

input:

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

output:

679
679
679
679
679
679
679
678
679
678
678
678
679
678
679
678
678
678
678
678
677
678
677
678
678
678
679
678
678
678
678
678
677
677
677
678
677
678
678
678
678
678
678
678
679
678
679
679
679
680
680
680
680
680
680
679
678
677
676
677
676
676
677
676
675
674
674
674
674
674
674
673
673
672
672
...

result:

ok 2000 numbers

Test #30:

score: 0
Accepted
time: 31ms
memory: 3664kb

input:

10 200000
1 2 2 2 2 1 0 2 2 2
10 -1
3 0
5 0
10 -1
10 0
3 0
5 0
7 1
9 -2
10 2
2 -2
6 -1
6 0
8 -1
4 -2
2 0
5 -1
8 1
1 1
4 1
1 -2
3 0
4 1
9 0
9 0
6 1
7 -1
4 -2
2 1
6 0
8 0
3 0
5 -1
10 -1
5 2
9 1
1 0
6 -1
2 0
9 1
2 1
4 2
5 -2
7 1
3 0
1 2
9 0
5 1
1 -1
6 2
6 -2
9 -1
8 -2
6 1
2 -2
1 -1
10 -1
2 0
8 2
6 -1
2...

output:

5
5
5
4
4
4
4
5
4
5
4
4
4
3
3
3
2
3
3
3
3
3
3
3
3
3
3
2
3
3
3
3
2
2
3
3
3
3
3
3
3
4
3
4
4
4
4
5
4
5
4
4
3
3
2
2
2
2
3
3
3
3
2
3
2
2
2
2
2
2
2
3
3
3
2
2
2
1
1
1
1
0
0
0
0
0
0
0
1
1
1
1
2
2
2
2
2
2
2
2
2
2
1
1
1
0
0
0
0
0
0
0
0
1
1
1
1
2
2
2
2
2
3
3
3
2
2
3
3
2
2
2
2
2
2
2
2
2
2
2
2
3
3
3
4
4
4
3
3
4
...

result:

ok 200000 numbers

Test #31:

score: -5
Time Limit Exceeded

input:

200000 200000
2 0 1 2 2 0 2 0 1 1 1 2 0 1 1 0 1 2 2 1 1 0 0 1 0 1 0 1 0 2 1 1 2 0 2 2 2 2 2 0 0 1 1 0 1 1 0 1 0 1 0 0 0 0 1 1 0 0 2 1 2 1 0 1 1 2 0 2 2 0 0 0 1 2 1 2 0 0 0 0 2 2 2 0 2 1 1 1 0 0 0 2 1 1 0 1 0 1 1 2 2 1 1 1 0 2 2 2 2 0 2 1 1 0 0 1 2 0 2 0 2 1 0 2 0 0 1 1 0 1 0 2 0 1 2 0 2 0 1 2 0 2 1 ...

output:

66738
66738
66738
66738
66738
66739
66739
66739
66740
66739
66739
66739
66738
66739
66740
66739
66738
66739
66738
66738
66738
66739
66739
66739
66738
66739
66739
66738
66738
66737
66736
66736
66736
66737
66736
66735
66736
66735
66735
66736
66736
66736
66736
66735
66734
66733
66733
66733
66732
66732
...

result:


Subtask #4:

score: 0
Time Limit Exceeded

Test #35:

score: 5
Accepted
time: 11ms
memory: 3584kb

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:

ok 1999 numbers

Test #36:

score: 0
Accepted
time: 15ms
memory: 3580kb

input:

1999 2000
938865181 635701131 720186551 12098533 888342577 819466162 677119886 695501777 87063160 544120940 280740814 953384275 462378756 394423771 769842478 563100233 988726627 938258387 941725041 202877851 608668845 507891555 488072389 600920090 738211573 440041095 584208199 334345340 587249363 60...

output:

334310744804
334310744804
334310744805
334310744805
334310744805
334310744805
334310744805
334310744806
334310744805
334310744805
334310744805
334310744805
334310744805
334310744805
334310744805
334310744805
334310744805
334310744805
334310744805
334310744804
334310744805
334310744804
334310744805
3...

result:

ok 2000 numbers

Test #37:

score: 0
Accepted
time: 15ms
memory: 3528kb

input:

1998 2000
953983734 995770518 938631730 961951570 959332856 972648102 943061680 904445058 924304353 960622114 906426330 931936027 957313612 965894280 965137632 988149861 916855162 928712995 923621242 962852409 971372933 948162818 943268160 970351693 997138667 985041992 953192885 954772005 986919660 ...

output:

632914970666
632914970667
632914970666
632914970666
632914970666
632914970665
632914970666
632914970666
632914970666
632914970667
632914970667
632914970667
632914970666
632914970667
632914970666
632914970667
632914970667
632914970667
632914970668
632914970667
632914970668
632914970667
632914970667
6...

result:

ok 2000 numbers

Test #38:

score: 0
Accepted
time: 12ms
memory: 3580kb

input:

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

output:

1655
1655
1656
1656
1656
1655
1655
1655
1656
1656
1656
1655
1656
1656
1656
1657
1657
1657
1657
1657
1658
1657
1658
1657
1657
1657
1657
1657
1657
1657
1656
1657
1656
1656
1656
1655
1656
1656
1656
1656
1656
1657
1657
1657
1657
1657
1658
1657
1657
1657
1657
1657
1657
1657
1657
1657
1657
1657
1657
1657
...

result:

ok 1999 numbers

Test #39:

score: -5
Time Limit Exceeded

input:

200000 200000
1 4 9 4 6 9 5 8 4 7 8 5 8 4 5 0 10 1 2 5 5 6 2 1 2 5 7 7 5 9 6 6 1 4 6 6 4 2 10 9 6 0 9 10 1 5 7 4 7 5 9 10 0 2 6 10 4 3 7 2 7 7 10 0 5 1 2 2 0 8 10 6 7 4 4 10 0 7 0 8 8 8 6 5 6 5 1 5 10 5 9 3 9 3 6 6 7 7 9 7 5 7 0 7 1 3 7 9 5 0 0 9 10 3 5 3 2 1 8 4 1 0 8 5 7 6 1 1 4 5 1 6 5 3 6 1 5 5 ...

output:

332845
332845
332846
332845
332845
332845
332844
332844
332844
332845
332844
332845
332844
332844
332844
332843
332843
332843
332842
332842
332842
332842
332842
332843
332843
332843
332844
332843
332843
332843
332844
332843
332843
332843
332842
332843
332842
332842
332842
332842
332842
332841
332842...

result:


Subtask #5:

score: 0
Skipped

Dependency #1:

0%