Time Limit: 1 Sec Memory Limit: 128 MB
Submit: 396 Solved: 139
Description
給你一個長度是n的序列A,然後,有m次詢問,每次詢問是一個數字X,請你告訴我X在序列A中有多少個數是不大於它的
Input
第一行 ,n,m,(n,m<=100000)
第二行n個數(每個數<=1000)
第三行m個數
Output
輸出答案
Sample Input
5 4 2 5 4 3 5 2 5 8 9
Sample Output
1 5 5 5
HINT
Source
題解:記錄一下upper_bound()函數的用法,返回第一個比查找數字大的函數
代碼:
#include<iostream>
#include<stdio.h>
#include<algorithm>
using namespace std;
int a[100005];
int main()
{
int n,m,i,ans;
while(~scanf("%d%d",&n,&m))
{
for(int i=0; i<n; i++)
scanf("%d",&a[i]);
sort(a,a+n);
while(m--)
{
int tmp;
scanf("%d",&tmp);
printf("%d\n",upper_bound(a,a+n,tmp)-a);
}
}
return 0;
}