BCSP2024JF1

(统计个数) 给出 n 个数,统计每个数能看到的数字个数。
例如:2 5 1 3 4
第一个数字 2 可以看到:5,因为 5 将 1,3,4 挡住了,一共 1 个
第二个数字 5 可以看到:2,1,3,4 一共 4 个
第三个数字 1 可以看到:5,3,4,因为 5 将 2 挡住了,一共 3 个
第四个数字 3 可以看到:1,5,4,因为 5 将 2 挡住了,一共 3 个
第五个数字 4 可以看到:3,5,因为 3 将 1 挡住了,5 将 2 挡住了,一共 2 个

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include<iostream>
using namespace std;
int a[100];
int b[100];
int now;
int main() {
    int n;
    cin >> n;
    for (int i = 0; i < n; i++) {
        cin >> a[i];
    }
    for (int i = 0; i < n; i++) {
        now = ;
        if(i==0 || i==n-1) b[i]=1;
        else b[i] = ;
        for (int j = ; j >= 0; j--) {
            if (a[j] > now) {
            now = a[j];
            b[i]++;
            }
        }
        now = ;
        for (int j = ; j < n; j++) {
            if (a[j] > now) {
                now = a[j];
                b[i]++;
            }
        }
    }
    for (int i = 0; i < n; i++) {
        cout << b[i] << " ";
    }
return 0;
}

代码注释

Scroll to Top