210768 美人松的高度2

题目描述

又到过年了,狗熊岭的动物们都忙碌了起来,张灯结彩准备过年。李老板却要光头强砍一些百年美人松回去。美人松都是很高的,它们的高度不超过长整型。现在光头强看到丛林里有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题解代码图片