count(a.begin(), a.end(), x)

统计a中x的出现次数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//查找a数组中,起始1和末尾1中的0的个数
void solve() {
int n;
std::cin >> n;
std::vector<int> a(n);
for (int i = 0; i < n; i++) {
std::cin >> a[i];
}
int l = 0, r = n - 1;
while (a[l] == 0) {
l++;
}
while (a[r] == 0) {
r--;
}
int ans = std::count(a.begin() + l, a.begin() + r, 0);
std::cout << ans << "\n";
}

*min_element(a.begin(), a.end())

查找a中的最小值

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//CF929div3
void solve() {
int n;
cin >> n;
vector<int> a(n);
for(int i = 0; i < n; i ++ ) {
cin >> a[i];
}
int min = *min_element(a.begin(), a.end());
if(count(a.begin(), a.end(), min) == 1) {
cout << "Yes\n";
return;
}
for(int i = 0; i < n; i ++ ) {
if(a[i] % min) {
cout << "Yes\n";
return;
}
}
cout << "No\n";
}