• Educational Codeforces Round 2 B. Queries about less or equal elements 水题


    B. Queries about less or equal elements

    Time Limit: 20 Sec

    Memory Limit: 256 MB

    题目连接

    http://codeforces.com/contest/600/problem/B

    Description

    You are given two arrays of integers a and b. For each element of the second array bj you should find the number of elements in array athat are less than or equal to the value bj.

    Input

    The first line contains two integers n, m (1 ≤ n, m ≤ 2·105) — the sizes of arrays a and b.

    The second line contains n integers — the elements of array a ( - 109 ≤ ai ≤ 109).

    The third line contains m integers — the elements of array b ( - 109 ≤ bj ≤ 109).

    Output

    Print m integers, separated by spaces: the j-th of which is equal to the number of such elements in array a that are less than or equal to the value bj.

    Sample Input

    5 4
    1 3 5 7 9
    6 4 2 8

    Sample Output

    3 2 1 4

    HINT

    题意

    给你一个数组,然后有Q次询问,问你在数组中,有多少个数比他小

    题解:

    把数组扔进一个vector里面,排序,然后二分就好了~

    代码:

    #include<iostream>
    #include<stdio.h>
    #include<algorithm>
    using namespace std;
    #define maxn 200005
    int a[maxn];
    int b[maxn];
    vector<int> Q;
    int main()
    {
        int n,m;
        scanf("%d%d",&n,&m);
        for(int i=1;i<=n;i++)
        {
            scanf("%d",&a[i]);
            Q.push_back(a[i]);
        }
        sort(Q.begin(),Q.end());
        for(int i=1;i<=m;i++)
        {
            int p;scanf("%d",&p);
            int x = upper_bound(Q.begin(),Q.end(),p)-Q.begin();
            printf("%d
    ",x);
        }
    }
  • 相关阅读:
    338. Counting Bits
    78. Subsets
    MySQL读写分离
    AESEncryption Aes 加密
    LoopBox 用于包装循环的盒子
    ES 服务器 索引、类型仓库基类 BaseESStorage
    一键压缩脚本
    非常好用的一个分组扩展方法
    快递、拆分、合并、优选逻辑
    Git Extensions 使用小结
  • 原文地址:https://www.cnblogs.com/qscqesze/p/5005382.html
Copyright © 2020-2023  润新知