Əvvəlcə verilmiş ədədlərin cəmini hesablayırıq. Bütün ədədlərin arifmetik ortası -ə bərabərdir. Daha sonra arifmetik ortadan böyük olan ədədlərin cəmini və sayını tapırıq.
Misal
Misalda n = 5 ədəd verilib. Onların cəmi s = 1 + 6 + 2 + 6 + 3 = 18-ə bərabərdir. Ədədlərin arifmetik ortası s / n = 18 / 5 = 3.6-dır. -dən böyük iki ədəd var: bu iki altıdır. Onların cəmi -ə bərabərdir.
Alqoritmin həyata keçirilməsi
Giriş massivini oxuyuruq. Onun elementlərinin cəmini hesablayırıq.
scanf("%d",&n);
for(i = 0; i < n; i++)
{
scanf("%d",&m[i]);
s += m[i];
}Cəmi və arifmetik ortadan böyük olan massiv elementlərinin sayını hesablayırıq. Qeyd edək ki, m[i] > s / n bərabərsizliyi m[i] \cdot n > s-ə ekvivalentdir.
sum = cnt = 0;
for(i = 0; i < n; i++)
if (m[i] * n > s) // m[i] > s / n
{
sum += m[i];
cnt++;
}Cavabı çıxışa veririk.
printf("%d %d\n",sum,cnt);Python həyata keçirilməsi
Giriş məlumatlarını oxuyuruq.
n = int(input())
lst = list(map(int, input().split()))Siyahının arifmetik ortasını hesablayırıq.
ave = sum(lst) / len(lst)Orta qiymətdən böyük ədədlərdən ibarət yeni siyahı qururuq.
above_ave = [x for x in lst if x > ave]Arifmetik ortadan böyük olan ədədlərin cəmini və sayını hesablayırıq.
sum = sum(above_ave)
cnt = len(above_ave)Cavabı çıxışa veririk.
print(sum, cnt)