题目描述
又到过年了,狗熊岭的动物们都忙碌了起来,张灯结彩准备过年。李老板却要光头强砍一些百年美人松回去。美人松都是很高的,它们的高度不超过长整型。现在光头强看到丛林里有N棵美人松按照从矮到高的排好,当然每棵松的高度是已知的。李老板要问光头强M次,每次询问高度为K的美人松有多少棵。
输入格式第一行两个正整数N和M,之间用一个空格隔开,1<=N<=10000000,1<=M<=1000
第二行N个正整数,之间用一个空格隔开,表示N棵美人松的高度。每颗美人松的高度不超过10000000
第三行M个正整数,之间用一个空格隔开,表示M个询问,每次询问高度为K的美人松有多少颗,1<=K<=1000。
输出格式一行M个正整数。之间用一个空格隔开,分别表示对应每次询问高度为K的树的数量,如果没有,则输出0。
样例样例输入
5 2
2 3 3 4 5
3 4
样例输出
2 1
数据范围与提示
分类标签
[一维数组] [循环] [语法基础]
C++题解代码
#include <bits/stdc++.h>
using namespace std;
int a[1000001];
int b;
int c;
int d;
int f;
// The main procedure
int main() {
cin>>b;
cin>>f;
for (int i = 1; i <= b; i++) {
cin>>a[i];
}
for (int j = 1; j <= f; j++) {
cin>>c;
d = 0;
for (int i = 1; i <= b; i++) {
if (c == a[i]) {
d++;
} else if (c < a[i]) {
break;
}
}
if (j > 1) {
cout<<" ";
}
cout<<d;
}
return 0;
}
Blockly题解代码图片