[R3A] 出现次数统计

  • 难度 入门
  • 时限 1s
  • 空限 512m
  • 模拟

数据规模:1n1051 \le n \le 10^51x,Ai10181 \le x,A_i \le 10^{18}

思路

逐个读入 AiA_i,与 xx 比较相等则答案加一。

复杂度:时间 O(n)O(n),空间 O(1)O(1)

仓颉实现

import std.env.*
import std.convert.*

main(): Int64 {
    let reader = getStdIn()
    let nx = reader.readln().getOrThrow().split(" ", removeEmpty: true).map({ p => Int64.parse(p) })
    let n = nx[0]
    let x = nx[1]
    let a = reader.readln().getOrThrow().split(" ", removeEmpty: true).map({ p => Int64.parse(p) })
    var ans: Int64 = 0
    for (i in 0..n) {
        if (a[i] == x) {
            ans += 1
        }
    }
    println(ans)
    return 0
}

要点:

  • xxAiA_i 可达 101810^{18},必须用 Int64 读入。
  • 数组按题面在第二行一次性读入,行尾多余空格由 split(" ", removeEmpty: true) 过滤。