def analitza_zona(f,c,tol):
    n = 0
    max_punts = 0
    for x in range(c-5,c+6):
        puntuacio = max(0,tol-abs(f(x) - x))
        if puntuacio > 0:
            n = n + 1
        if puntuacio > max_punts:
            max_punts = puntuacio
    return n, round(max_punts,2)
    
"""
Versió amb comprensions de llistes   
    
def analitza_zona(f, c, tol):
	# crea una llista aplicant la puntuació a cada punt de l'interval
    puntuacions = [
        max(0, tol - abs(f(x) - x))
        for x in range(c - 5, c + 6)
    ]
	# crea una llista amb les puntuacions positives
	# i calcula quantes n'hi ha
    n = len([p for p in puntuacions if p > 0])
    # troba el màxim de les puntuacions positives
    max_punts = max(puntuacions)

    return n, round(max_punts, 2)    
    
"""
def busca_zona(f,c,tol,min_accept):
    acceptables, millor = analitza_zona(f,c,tol)
    while acceptables < min_accept:
        c = c + 1
        acceptables, millor = analitza_zona(f,c,tol)
    return c, millor
    
