zoukankan      html  css  js  c++  java
  • 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);
        }
    }
  • 相关阅读:
    树状数组&线段树
    8月7日小练
    8月6日小练
    LID&LDS 的另外一种算法
    LCS,LIS,LCIS
    8-11-Exercise
    8-10-Exercise
    线段树
    8-7-Exercise
    8-6-Exercise
  • 原文地址:https://www.cnblogs.com/qscqesze/p/5005382.html
Copyright © 2011-2022 走看看