N = int(input())
X = [''] * N
for a in range(N):
X[a] = int(input())
a = 0
c, b, e, f = 0, 0, 0, N + 1
g, h = 0, 0
while a < N - 2:
a += 1
e += 1
b, c = X[a], b
if c < b:
while a < N - 1:
a += 1
e += 1
d = X[a]
if d < b:
if e < f:
g, h = a - e + 1, a + 1
f = e
break
elif d == b:
continue
else:
break
e = 0
if g == 0 and h == 0:
print(0)
else: print(g, h)
Объяснение:
Здесь А - массив, N - количество чисел в массиве, sum - сумма элементов массива, count - количество искомых элементов, sum * 1.0 / N - это и есть среднее арифметическое, причем если здесь не умножать на 1.0, то результат будет округлен и программа будет уже работать неправильно, а если умножать, то все хорошо, потому что sum * 1.0 / N становится вещественным числом
Объяснение:
Здесь можно использовать динамику(чтобы не занимать место в памяти статическим массивом):
#include <iostream>
using namespace std;
int main()
{
int N, sum=0, count=0;
cin >> N;
int* A = new int[N];
for (int i = 0; i < N; i++) {
cin >> A[i];
sum += A[i];
}
for (int i = 0; i < N; i++) if (A[i] < (sum * 1.0 / N)) count++;
cout << count;
delete[] A;
}
Но если динамика еще не изучена, то:
#include <iostream>
using namespace std;
int main()
{
int N, sum=0, count=0, A[1000];
cin >> N;
for (int i = 0; i < N; i++) {
cin >> A[i];
sum += A[i];
}
for (int i = 0; i < N; i++) if (A[i] < (sum * 1.0 / N)) count++;
cout << count;
}