题解 | 【模板】整数域二分

【模板】整数域二分

https://www.nowcoder.com/practice/ee70e343d1bf4646b6eace9957f697c9

由于这里是对具体的数值进行判断可以直接使用lower_bound和upper_bound

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

int main() {
    ios::sync_with_stdio(0);
    cin.tie(0);
    int n, q;
    cin >> n >> q;
    vector<int> a(n);
    for (int i = 0; i < n; i++) {
        cin >> a[i];
    }
    sort(a.begin(), a.end());
    for (int i = 0; i < q; i++) {
        int l, r;
        cin >> l >> r;
        auto it_r = upper_bound(a.begin(), a.end(), r);
        auto it_l = lower_bound(a.begin(), a.end(), l);
        int ans = distance(it_l, it_r);
        cout << ans << endl;
    }
}

全部评论

相关推荐

04-13 11:19
门头沟学院 HTML5
NullPointe...:27实习的都快结束了吧
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务