#include<bits/stdc++.h>
#pragma GCC optimize("Ofast,unroll-loops")
using namespace std;
int a[100005];
int geti(int x) {
return a[x];
}
void add(int l, int r) {
for (int j = l; j <= r; j++) {
a[j]++;
}
}
main() {
ios_base::sync_with_stdio(false);
cin.tie(0);
int n;
cin >> n;
int m;
cin >> m;
for (int i = 1; i <= n; i++) {
cin >> a[i];
}
sort(a + 1, a + n + 1);
while (m--) {
char t;
cin >> t;
if (t == 'F') {
int c, h;
cin >> c >> h;
int val = geti(c);
int l = 0, r = c - 1;
while (l < r) {
int mid = (l + r + 1) >> 1;
if (geti(mid) < val) {
l = mid;
} else {
r = mid - 1;
}
}
int pos = l;
add(1, pos);
// l = pos + 1, r = n;
// while (l < r) {
// int mid = (l + r + 1) >> 1;
// if (geti(mid) == val) {
// l = mid;
// } else {
// r = mid - 1;
// }
// }
// int poso = l;
int rem = c - pos;
add(pos + 1, pos + rem);
sort(a + 1, a + n + 1);
} else {
int l, r;
cin >> l >> r;
int ans = 0;
for (int i = 1; i <= n; i++) {
// cout << a[i] << ' ';
if (l <= a[i] && a[i] <= r) {
ans++;
}
}
// cout << endl;
cout << ans << endl;
}
}
}
Compilation message (stderr)
grow.cpp:13:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
13 | main() {
| ^~~~| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |