把
```cpp
num = 0;
for (int j = 0; a[j] <= r; j++) {
num += a[j] >= L ? 1 : 0;
}
printf("%lld\n", num);
```
改成
```cpp
int k = lower_bound(a + 1, a + x, L) - a;
int q = upper_bound(a + 1, a + x, r) - a - 1;
printf("%d\n", q - k + 1);
```
(这里可以不开long long)
by C_wcy @ 2023-01-31 14:30:14
```
lower_bound->二分求>=L的位置
upper_bound->二分求<=r的位置(第一个>r的位置减1)
```
by C_wcy @ 2023-01-31 14:42:11