/ SeriousOJ /

Record Detail

Accepted


  
# Status Time Cost Memory Cost
#1 Accepted 1ms 532.0 KiB
#2 Accepted 1ms 348.0 KiB
#3 Accepted 61ms 2.062 MiB
#4 Accepted 112ms 4.52 MiB
#5 Accepted 77ms 3.816 MiB
#6 Accepted 58ms 1.52 MiB
#7 Accepted 1ms 532.0 KiB
#8 Accepted 1ms 532.0 KiB
#9 Accepted 120ms 4.77 MiB
#10 Accepted 167ms 6.02 MiB

Code

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll N = 2e5 + 10;
const ll MOD = 1e9 + 7;

void solve()
{
  int n;
  cin >> n;
  
  vector<int> v(n);
  for(int i = 0; i < n; i++) {
    cin >> v[i];
  }
  set<int>st;
  for(int i = 1; i < n - 1; i++) {
    if(v[i] < v[i - 1]) {
      st.insert(i);
    }
  }
  
  int q;
  cin >> q;
  while(q--) {
    int type, a, b;
    cin >> type >> a >> b;
    a--;

    if(type == 1) {
      v[a] = b;
      for(int i = max(1, a); i < min(n - 1, a + 2); i++) {
        if(v[i] < v[i - 1]) st.insert(i);
        else {
          if(st.find(i) != st.end()) st.erase(st.find(i));
        }
      }
    }
    else {
      a++;
      b--;
      auto it = st.lower_bound(a);
      if(it != st.end() and *it <= b) cout << "NO" << "\n";
      else cout << "YES" << "\n";
    }
  }
}

int main()
{
  ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);
  solve();
}

Information

Submit By
Type
Submission
Problem
P1085 Sorted or !Sorted
Language
C++20 (G++ 13.2.0)
Submit At
2024-08-18 10:51:53
Judged At
2024-08-18 10:51:53
Judged By
Score
100
Total Time
167ms
Peak Memory
6.02 MiB