/ SeriousOJ /

Record Detail

Accepted


  
# Status Time Cost Memory Cost
#1 Accepted 1ms 532.0 KiB
#2 Accepted 1ms 532.0 KiB
#3 Accepted 5ms 348.0 KiB
#4 Accepted 4ms 532.0 KiB
#5 Accepted 4ms 532.0 KiB
#6 Accepted 4ms 324.0 KiB
#7 Accepted 4ms 532.0 KiB
#8 Accepted 5ms 356.0 KiB
#9 Accepted 4ms 532.0 KiB
#10 Accepted 4ms 344.0 KiB
#11 Accepted 4ms 532.0 KiB
#12 Accepted 4ms 532.0 KiB
#13 Accepted 4ms 324.0 KiB
#14 Accepted 4ms 532.0 KiB
#15 Accepted 4ms 532.0 KiB
#16 Accepted 5ms 536.0 KiB
#17 Accepted 5ms 488.0 KiB
#18 Accepted 4ms 532.0 KiB
#19 Accepted 4ms 532.0 KiB
#20 Accepted 4ms 532.0 KiB
#21 Accepted 5ms 544.0 KiB
#22 Accepted 5ms 532.0 KiB
#23 Accepted 5ms 532.0 KiB
#24 Accepted 5ms 536.0 KiB
#25 Accepted 4ms 532.0 KiB
#26 Accepted 5ms 444.0 KiB
#27 Accepted 4ms 324.0 KiB
#28 Accepted 5ms 532.0 KiB
#29 Accepted 5ms 476.0 KiB
#30 Accepted 4ms 532.0 KiB
#31 Accepted 4ms 320.0 KiB
#32 Accepted 5ms 340.0 KiB
#33 Accepted 5ms 532.0 KiB
#34 Accepted 5ms 324.0 KiB
#35 Accepted 4ms 492.0 KiB
#36 Accepted 4ms 532.0 KiB
#37 Accepted 5ms 440.0 KiB
#38 Accepted 4ms 532.0 KiB
#39 Accepted 4ms 532.0 KiB
#40 Accepted 5ms 532.0 KiB
#41 Accepted 5ms 420.0 KiB
#42 Accepted 4ms 320.0 KiB
#43 Accepted 5ms 488.0 KiB
#44 Accepted 4ms 324.0 KiB
#45 Accepted 4ms 324.0 KiB
#46 Accepted 4ms 532.0 KiB
#47 Accepted 5ms 532.0 KiB
#48 Accepted 4ms 532.0 KiB
#49 Accepted 5ms 548.0 KiB
#50 Accepted 4ms 340.0 KiB
#51 Accepted 5ms 536.0 KiB
#52 Accepted 4ms 320.0 KiB
#53 Accepted 5ms 488.0 KiB
#54 Accepted 4ms 532.0 KiB
#55 Accepted 4ms 532.0 KiB
#56 Accepted 4ms 536.0 KiB
#57 Accepted 4ms 532.0 KiB
#58 Accepted 4ms 532.0 KiB
#59 Accepted 4ms 324.0 KiB
#60 Accepted 4ms 348.0 KiB
#61 Accepted 5ms 532.0 KiB
#62 Accepted 5ms 532.0 KiB
#63 Accepted 4ms 348.0 KiB
#64 Accepted 4ms 532.0 KiB
#65 Accepted 4ms 320.0 KiB
#66 Accepted 4ms 532.0 KiB
#67 Accepted 5ms 532.0 KiB
#68 Accepted 4ms 532.0 KiB
#69 Accepted 5ms 532.0 KiB
#70 Accepted 4ms 320.0 KiB
#71 Accepted 4ms 316.0 KiB
#72 Accepted 5ms 532.0 KiB
#73 Accepted 4ms 320.0 KiB
#74 Accepted 4ms 532.0 KiB
#75 Accepted 5ms 532.0 KiB
#76 Accepted 4ms 532.0 KiB
#77 Accepted 4ms 532.0 KiB
#78 Accepted 5ms 356.0 KiB
#79 Accepted 5ms 440.0 KiB
#80 Accepted 4ms 532.0 KiB
#81 Accepted 131ms 1.406 MiB
#82 Accepted 152ms 1.445 MiB
#83 Accepted 127ms 1.406 MiB
#84 Accepted 126ms 1.402 MiB
#85 Accepted 128ms 1.41 MiB
#86 Accepted 130ms 1.402 MiB
#87 Accepted 127ms 1.398 MiB
#88 Accepted 151ms 1.41 MiB
#89 Accepted 125ms 1.441 MiB
#90 Accepted 128ms 1.441 MiB
#91 Accepted 170ms 9.52 MiB
#92 Accepted 148ms 9.676 MiB
#93 Accepted 151ms 9.625 MiB
#94 Accepted 141ms 9.52 MiB
#95 Accepted 133ms 9.66 MiB
#96 Accepted 161ms 9.656 MiB
#97 Accepted 154ms 9.652 MiB
#98 Accepted 111ms 9.562 MiB
#99 Accepted 96ms 9.652 MiB
#100 Accepted 98ms 9.52 MiB

Code

#include<bits/stdc++.h>
#define ll long long 
using namespace std;

class SegmentTree {
  public:
  int n;
  vector<ll> tree;
  SegmentTree(int n) : tree(2 * n + 10), n(n){};

  void upd(int pos, ll value) {
    for (tree[pos += n] = value; pos > 1; pos >>= 1)
      tree[pos >> 1] = max(tree[pos], tree[pos ^ 1]); // Range sum
  }

  long long query(int l, int r) {
    long long res = 0;
    for (l += n, r += n + 1; l < r; l >>= 1, r >>= 1) {
      if (l & 1) res = max(res, tree[l++]);
      if (r & 1) res = max(res, tree[--r]);
    }
    return res;
  }
};

int main(){
  int t;
  cin >> t;
  while (t--){
    ll n, MX = 0, ans = 0;
    cin >> n;
    ans = n;
    vector<ll> a(n + 1), b(n + 1), c(n + 1), d(n+1);
    for (int i = 1; i <= n; i++){
      cin >> a[i];
    }
    for (int i = 1; i <= n; i++){
      cin >> b[i];
    }
    SegmentTree st(n + 1);
    for (int i = n; i > 0; i--){
      c[a[i]] = max(c[a[i]], b[i]);
      ll mx = st.query(a[i] + 1, n + 1);
      ll cur = max(b[i] + mx, st.query(a[i], a[i]));
      st.upd(a[i], cur);
      d[i] = cur;
    }
    for (int i = 1; i <= n; i++){
      if (d[i] >= MX){
        MX = d[i];
        ans = n - (i - 1);
      }
    }
    cout << ans << endl;
  }
}

Information

Submit By
Type
Submission
Problem
P1224 Maximize the max
Contest
Testing - Intra LU Programming contest 25
Language
C++17 (G++ 13.2.0)
Submit At
2025-08-31 09:32:24
Judged At
2025-08-31 09:32:24
Judged By
Score
100
Total Time
170ms
Peak Memory
9.676 MiB