提出 #71010702


ソースコード 拡げる

#include <bits/stdc++.h>
using namespace std;
#define int long long
const int MAXN = 1e6;
int n, m, q;
int a[MAXN + 5], b[MAXN + 5];

int siz[MAXN * 32 + 5];
int sum[MAXN * 32 + 5];

int tot;
int lc[MAXN * 32 + 5];
int rc[MAXN * 32 + 5];
int query(int id, int l, int r, int k) {
    if (!id) return 0;
    if (l == r) {
        return l * k;
    }
    int mid=  (l + r) >> 1;
    if (siz[lc[id]] >= k) return query(lc[id], l, mid, k);
    else return sum[lc[id]] + query(rc[id], mid + 1, r, k - siz[lc[id]]);
}
void modify(int &id, int l, int r, int v, int k) {
    if (!id) id =++ tot;
    if (l == r) {
        siz[id] += k;
        sum[id] += v * k;
        return ;
    }
    int mid = (l + r) >> 1;
    if (v <= mid) modify(lc[id], l, mid, v, k);
    else modify(rc[id], mid + 1, r, v, k);
    siz[id] = siz[lc[id]] + siz[rc[id]];
    sum[id] = sum[lc[id]] + sum[rc[id]];
    return ;
}
signed main() {
    cin >> n >> m >> q;
    for (int i = 1; i <= n; ++i) cin >> a[i];
    for (int i = 1; i <= m; ++i) cin >> b[i];
    int rt = 0;
    for (int i = 1; i <= n; i ++) modify(rt, 1, 1e9, a[i], 1);
    for (int i = 1; i <= m; i ++) modify(rt, 1, 1e9, b[i], 1);
    while (q --) {
        int op, i, x; cin >> op >> i >> x;
        int cur = 0;
        if (op == 1) {  
            modify(rt, 1, 1e9, a[i], -1);
            a[i] = x;
            modify(rt, 1, 1e9, a[i], 1);


            int len = (n + m), mid = (1 + len) / 2;
            int l, r;
            if (len % 2 == 1) {
                l = mid - m / 2;
                r = mid + m / 2;
            } else {
                l = mid - m / 2 + 1;
                r = mid + m / 2;
            }
            // cout<<"#"<<l<<' '<<r<<endl;
            cout<<sum[rt] - (query(rt, 1, 1e9, r) - query(rt, 1, 1e9, l - 1))<<endl;
        } else {
            modify(rt, 1, 1e9, b[i], -1);
            b[i] = x;
            modify(rt, 1, 1e9, b[i], 1);

            int len = (n + m), mid = (1 + len) / 2;
            int l, r;
            if (len % 2 == 1) {
                l = mid - m / 2;
                r = mid + m / 2;
            } else {
                l = mid - m / 2 + 1;
                r = mid + m / 2;
            }
            cout<<sum[rt] - (query(rt, 1, 1e9, r) - query(rt, 1, 1e9, l - 1))<<endl;
        }
    }
    return 0;
}

提出情報

提出日時
問題 B - Remove Median Operations
ユーザ laozhuma
言語 C++23 (GCC 15.2.0)
得点 600
コード長 2383 Byte
結果 AC
実行時間 1415 ms
メモリ 229396 KiB

コンパイルエラー

./Main.cpp: In function 'int main()':
./Main.cpp:46:13: warning: unused variable 'cur' [-Wunused-variable]
   46 |         int cur = 0;
      |             ^~~

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 600 / 600
結果
AC × 2
AC × 63
セット名 テストケース
Sample 01_sample_01.txt, 01_sample_02.txt
All 01_sample_01.txt, 01_sample_02.txt, 02_rand1_01.txt, 02_rand1_02.txt, 02_rand1_03.txt, 02_rand1_04.txt, 02_rand1_05.txt, 02_rand1_06.txt, 02_rand1_07.txt, 02_rand1_08.txt, 02_rand1_09.txt, 02_rand1_10.txt, 02_rand1_11.txt, 02_rand1_12.txt, 02_rand1_13.txt, 02_rand1_14.txt, 02_rand1_15.txt, 02_rand1_16.txt, 02_rand1_17.txt, 02_rand1_18.txt, 02_rand1_19.txt, 02_rand1_20.txt, 02_rand1_21.txt, 03_rand2_01.txt, 03_rand2_02.txt, 03_rand2_03.txt, 03_rand2_04.txt, 03_rand2_05.txt, 03_rand2_06.txt, 03_rand2_07.txt, 03_rand2_08.txt, 03_rand2_09.txt, 03_rand2_10.txt, 03_rand2_11.txt, 03_rand2_12.txt, 03_rand2_13.txt, 03_rand2_14.txt, 03_rand2_15.txt, 03_rand2_16.txt, 04_query_small_01.txt, 04_query_small_02.txt, 04_query_small_03.txt, 04_query_small_04.txt, 04_query_small_05.txt, 04_query_small_06.txt, 04_query_small_07.txt, 04_query_small_08.txt, 04_query_small_09.txt, 04_query_small_10.txt, 04_query_small_11.txt, 04_query_small_12.txt, 05_query_large_01.txt, 05_query_large_02.txt, 05_query_large_03.txt, 05_query_large_04.txt, 05_query_large_05.txt, 05_query_large_06.txt, 05_query_large_07.txt, 05_query_large_08.txt, 05_query_large_09.txt, 05_query_large_10.txt, 05_query_large_11.txt, 05_query_large_12.txt
ケース名 結果 実行時間 メモリ
01_sample_01.txt AC 1 ms 3632 KiB
01_sample_02.txt AC 1 ms 3432 KiB
02_rand1_01.txt AC 475 ms 87360 KiB
02_rand1_02.txt AC 483 ms 87400 KiB
02_rand1_03.txt AC 521 ms 87456 KiB
02_rand1_04.txt AC 541 ms 87536 KiB
02_rand1_05.txt AC 505 ms 87660 KiB
02_rand1_06.txt AC 874 ms 160300 KiB
02_rand1_07.txt AC 872 ms 160420 KiB
02_rand1_08.txt AC 875 ms 160468 KiB
02_rand1_09.txt AC 897 ms 160620 KiB
02_rand1_10.txt AC 920 ms 160760 KiB
02_rand1_11.txt AC 1177 ms 195444 KiB
02_rand1_12.txt AC 1215 ms 202156 KiB
02_rand1_13.txt AC 909 ms 141604 KiB
02_rand1_14.txt AC 867 ms 135856 KiB
02_rand1_15.txt AC 985 ms 158900 KiB
02_rand1_16.txt AC 825 ms 127928 KiB
02_rand1_17.txt AC 1369 ms 229324 KiB
02_rand1_18.txt AC 1374 ms 229028 KiB
02_rand1_19.txt AC 1388 ms 229088 KiB
02_rand1_20.txt AC 1415 ms 229396 KiB
02_rand1_21.txt AC 1384 ms 229292 KiB
03_rand2_01.txt AC 316 ms 5064 KiB
03_rand2_02.txt AC 317 ms 5276 KiB
03_rand2_03.txt AC 316 ms 5240 KiB
03_rand2_04.txt AC 323 ms 5096 KiB
03_rand2_05.txt AC 321 ms 5240 KiB
03_rand2_06.txt AC 372 ms 5872 KiB
03_rand2_07.txt AC 271 ms 4004 KiB
03_rand2_08.txt AC 313 ms 4756 KiB
03_rand2_09.txt AC 294 ms 4552 KiB
03_rand2_10.txt AC 335 ms 5036 KiB
03_rand2_11.txt AC 261 ms 3864 KiB
03_rand2_12.txt AC 415 ms 6592 KiB
03_rand2_13.txt AC 411 ms 6688 KiB
03_rand2_14.txt AC 420 ms 6776 KiB
03_rand2_15.txt AC 415 ms 6732 KiB
03_rand2_16.txt AC 411 ms 6732 KiB
04_query_small_01.txt AC 575 ms 88992 KiB
04_query_small_02.txt AC 575 ms 88932 KiB
04_query_small_03.txt AC 571 ms 88944 KiB
04_query_small_04.txt AC 583 ms 89076 KiB
04_query_small_05.txt AC 588 ms 89304 KiB
04_query_small_06.txt AC 878 ms 126424 KiB
04_query_small_07.txt AC 698 ms 87744 KiB
04_query_small_08.txt AC 748 ms 101020 KiB
04_query_small_09.txt AC 590 ms 87220 KiB
04_query_small_10.txt AC 738 ms 100220 KiB
04_query_small_11.txt AC 602 ms 78620 KiB
04_query_small_12.txt AC 1098 ms 162200 KiB
05_query_large_01.txt AC 598 ms 88992 KiB
05_query_large_02.txt AC 611 ms 88936 KiB
05_query_large_03.txt AC 597 ms 89068 KiB
05_query_large_04.txt AC 600 ms 89064 KiB
05_query_large_05.txt AC 616 ms 89380 KiB
05_query_large_06.txt AC 920 ms 126396 KiB
05_query_large_07.txt AC 573 ms 64780 KiB
05_query_large_08.txt AC 594 ms 62968 KiB
05_query_large_09.txt AC 618 ms 67572 KiB
05_query_large_10.txt AC 893 ms 111584 KiB
05_query_large_11.txt AC 779 ms 102632 KiB
05_query_large_12.txt AC 1168 ms 162556 KiB