"""i544.
Ender Rozina Júlia
Budapest, V. Kerületi Eötvös József Gimnázium, 11. oszt.
ender.rozina.julia@e5vos.hu"""
#ADATOK BEKÉRÉSE ÉS ELLENŐRZÉSE
#Bemenet első sora(N):
n=int(input())
#N értékének leellenőrzése:
if n<2 or n>10000:
    print("HIBA! a dobozok száma 2 és 1000 között legyen")
    exit()
#Bemenet második sora(DB) és átalakítása számmá:
db=input()
tomb=db.split()
tomdb=list(map(int, tomb))
#Dobozok száma és beírt golyó csoportok egyenlőek-e:
if len(tomdb)!= n:
    print("HIBA! Nem egyezik a dobozok számával")
    exit()
#Golyók összesítése és DB érték ellenőrzése:
sum=0
for t in tomdb:
    if t<1 or t>1000:
        print("HIBA! a golyók száma 1 és 1000 között legyen")
        exit()
    sum=sum+t
#Golyók szétoszthatóak-e egyenlő részekre:
if sum%n != 0:
    print("HIBA! A golyók összege nem osztható szét egyenlően")
    exit()

#MINIMUM MOZGATÁSOK KISZÁMOLÁSÁNAK LOGIKÁJA:
#1.lépés: Balról megkeresi az első olyan dobozt, amelyikben annyival vagy
#         többel több golyó van, mint amennyi tőle balra hiányzik.
#2.lépés: Amennyi hiányzik tőle balról, annyit áthelyezünk balra, és
#         ezt addig folytatjuk, ameddig van hiány balra.
#3.lépés: Ha van még felesleg, akkor azt a jobb oldali szomszédjának
#         adja tovább.
#Ezeket addig ismételjük, amíg a dobozok végére nem érünk.

atlag=int(sum/n) #1 dobozba jutó golyók száma
elter=[0]        #eltérések gyűjtése
e=0              #eltérések összegzése
lepes=0          #lépések/mozgatások száma
for i in range(len(tomdb)):      #1.lépés
    e=e+tomdb[i]-atlag
    if e>=0:
        for j in range(i,-1,-1): #2.lépés
            if elter[j]<0:
                lepes+=1
                elter[j]=0
        if e>0:                  #3.lépés
            lepes+=1
            tomdb[i+1]+=e
            e=0
    elter.append(e)

#Kimenet:
print(lepes)
