天天看點

資訊學奧賽C++語言:美人松的高度2

【題目描述】

又到過年了,狗熊嶺的動物們都忙碌了起來,張燈結彩準備過年。李老闆卻要光頭強砍一些百年美人松回去。美人松都是很高的,它們的高度不超過長整型。現在光頭強看到叢林裡有N棵美人松按照從矮到高的排好,當然每棵松的高度是已知的。李老闆要問光頭強M次,每次詢問高度為K的美人松有多少棵。

【輸入】

第一行兩個正整數N和M,之間用一個空格隔開,1<=N<=10000000,1<=M<=1000

第二行N個正整數,之間用一個空格隔開,表示N棵美人松的高度。

第三行M個正整數,之間用一個空格隔開,表示M個詢問,每次詢問高度為K的美人松有多少顆,1<=K<=1000。

【輸出】

一行M個正整數。之間用一個空格隔開,分别表示對應每次詢問高度為K的樹的數量,如果沒有,則輸出0。

【輸入樣例】

5 2

2 3 3 4 5

3 4

【輸出樣例】

2 1

代碼

#include<bits/stdc++.h>
using namespace std;
int  a[10000001],n,m,k,x; 
int main()
{
	scanf("%d%d",&n,&m);
	for(int i=1;i<=n;i++)
	{
	scanf("%d",&k);
	a[k]=a[k]+1;
	}
	for(int i=1;i<=m;i++)
	{
		scanf("%d",&x);
		printf("%d ",a[x]);
	}
	return 0;
 }