/ SeriousOJ /

Record Detail

Accepted


  
# Status Time Cost Memory Cost
#1 Accepted 1ms 540.0 KiB
#2 Accepted 2ms 540.0 KiB
#3 Accepted 68ms 1.836 MiB
#4 Accepted 123ms 4.594 MiB
#5 Accepted 86ms 3.77 MiB
#6 Accepted 61ms 1.504 MiB
#7 Accepted 1ms 540.0 KiB
#8 Accepted 2ms 384.0 KiB
#9 Accepted 145ms 4.914 MiB
#10 Accepted 170ms 6.0 MiB

Code

// @sagorahmedmunna

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

const int INF = 1.1e9;

int main() {
  ios_base::sync_with_stdio(0), cin.tie(0);
  
  int n;
  cin >> n;
  vector<int> a(n + 2);
  a[n + 1] = INF;
  for (int i = 1; i <= n; i++) {
    cin >> a[i];
  }
  set<int> st = {INF};
  for (int i = 1; i < n; i++) {
    if (a[i] > a[i + 1]) {
      st.insert(i + 1);
    }
  }
  int q;
  cin >> q;
  while (q--) {
    int type;
    cin >> type;
    if (type == 1) {
      int i, x;
      cin >> i >> x;
      a[i] = x;
      if (a[i] > a[i + 1]) st.insert(i + 1);
      else st.erase(i + 1);
      if (a[i - 1] > a[i]) st.insert(i);
      else st.erase(i);
    } else {
      int l, r;
      cin >> l >> r;
      auto up = st.upper_bound(l);
      cout << (*up > r ? "YES" : "NO") << '\n';
    }
  }
  return 0;
}

Information

Submit By
Type
Submission
Problem
P1085 Sorted or !Sorted
Contest
Bangladesh 2.0
Language
C++20 (G++ 13.2.0)
Submit At
2024-08-16 17:02:49
Judged At
2024-08-16 17:02:49
Judged By
Score
100
Total Time
170ms
Peak Memory
6.0 MiB