Submission #2520681


Source Code Expand

import std.stdio, std.array, std.string, std.conv, std.algorithm;
import std.typecons, std.range, std.random, std.math, std.container;
import std.numeric, std.bigint, core.bitop, std.bitmanip;

void main() {
    auto s = readln.split.map!(to!int);
    auto N = s[0] * 2;
    auto Q = s[1];
    auto A = readln.split.map!(to!long).array;
    auto B = readln.split.map!(to!long).array;
    
    auto rbt = new RedBlackTree!(long, "a > b", true)();
    long sm = 0;
    int cnt = 0;
    foreach (i; 0..N) {
        if (i == 0 || i == N-1) {
            sm += A[i];
        } else if (A[i] >= B[i]) {
            sm += A[i];
            rbt.insert(B[i] - A[i]);
        } else {
            sm += B[i];
            cnt += 1;
            rbt.insert(A[i] - B[i]);
        }
    }

    while (Q--) {
        s = readln.split.map!(to!int);
        auto p = s[0] - 1;
        auto x = s[1].to!long;
        auto y = s[2].to!long;
        if (p == 0 || p == N - 1) {
            sm = sm - A[p] + x;
            A[p] = x;
            B[p] = y;
        } else {
            sm = sm - max(A[p], B[p]) + max(x, y);
            rbt.removeKey(-abs(A[p] - B[p]));
            rbt.insert(-abs(x - y));
            if (A[p] < B[p]) cnt -= 1;
            if (x < y) cnt += 1;
            A[p] = x;
            B[p] = y;
        }
        writeln(cnt % 2 ? sm + rbt.front : sm);
    }
}

Submission Info

Submission Time
Task C - Paired Parentheses
User nebukuro09
Language D (LDC 0.17.0)
Score 700
Code Size 1414 Byte
Status AC
Exec Time 371 ms
Memory 51072 KB

Judge Result

Set Name Sample Subtask1 Subtask2 All
Score / Max Score 0 / 0 200 / 200 300 / 300 200 / 200
Status
AC × 2
AC × 14
AC × 15
AC × 43
Set Name Test Cases
Sample 00_example_01.txt, 00_example_02.txt
Subtask1 00_example_01.txt, s1_01.txt, s1_02.txt, s1_03.txt, s1_04.txt, s1_05.txt, s1_06.txt, s1_07.txt, s1_08.txt, s1_09.txt, s1_10.txt, s1_11.txt, s1_12.txt, s1_13.txt
Subtask2 s2_14.txt, s2_15.txt, s2_16.txt, s2_17.txt, s2_18.txt, s2_19.txt, s2_20.txt, s2_21.txt, s2_22.txt, s2_23.txt, s2_24.txt, s2_25.txt, s2_26.txt, s2_27.txt, s2_28.txt
All 00_example_01.txt, 00_example_02.txt, s1_01.txt, s1_02.txt, s1_03.txt, s1_04.txt, s1_05.txt, s1_06.txt, s1_07.txt, s1_08.txt, s1_09.txt, s1_10.txt, s1_11.txt, s1_12.txt, s1_13.txt, s2_14.txt, s2_15.txt, s2_16.txt, s2_17.txt, s2_18.txt, s2_19.txt, s2_20.txt, s2_21.txt, s2_22.txt, s2_23.txt, s2_24.txt, s2_25.txt, s2_26.txt, s2_27.txt, s2_28.txt, s3_29.txt, s3_30.txt, s3_31.txt, s3_32.txt, s3_33.txt, s3_34.txt, s3_35.txt, s3_36.txt, s3_37.txt, s3_38.txt, s3_39.txt, s3_40.txt, s3_41.txt
Case Name Status Exec Time Memory
00_example_01.txt AC 1 ms 256 KB
00_example_02.txt AC 1 ms 256 KB
s1_01.txt AC 1 ms 256 KB
s1_02.txt AC 1 ms 256 KB
s1_03.txt AC 1 ms 256 KB
s1_04.txt AC 1 ms 256 KB
s1_05.txt AC 1 ms 256 KB
s1_06.txt AC 1 ms 256 KB
s1_07.txt AC 1 ms 256 KB
s1_08.txt AC 1 ms 256 KB
s1_09.txt AC 1 ms 256 KB
s1_10.txt AC 1 ms 256 KB
s1_11.txt AC 1 ms 256 KB
s1_12.txt AC 1 ms 256 KB
s1_13.txt AC 1 ms 256 KB
s2_14.txt AC 6 ms 1404 KB
s2_15.txt AC 7 ms 3580 KB
s2_16.txt AC 86 ms 20108 KB
s2_17.txt AC 70 ms 17828 KB
s2_18.txt AC 126 ms 34176 KB
s2_19.txt AC 132 ms 34176 KB
s2_20.txt AC 135 ms 33152 KB
s2_21.txt AC 132 ms 32128 KB
s2_22.txt AC 6 ms 1404 KB
s2_23.txt AC 7 ms 3580 KB
s2_24.txt AC 6 ms 1404 KB
s2_25.txt AC 144 ms 32156 KB
s2_26.txt AC 152 ms 32492 KB
s2_27.txt AC 143 ms 32584 KB
s2_28.txt AC 144 ms 32776 KB
s3_29.txt AC 114 ms 19416 KB
s3_30.txt AC 154 ms 17448 KB
s3_31.txt AC 107 ms 22288 KB
s3_32.txt AC 278 ms 38100 KB
s3_33.txt AC 119 ms 19768 KB
s3_34.txt AC 371 ms 49292 KB
s3_35.txt AC 351 ms 51072 KB
s3_36.txt AC 283 ms 47932 KB
s3_37.txt AC 290 ms 47692 KB
s3_38.txt AC 304 ms 47772 KB
s3_39.txt AC 287 ms 47132 KB
s3_40.txt AC 77 ms 2044 KB
s3_41.txt AC 81 ms 2044 KB