AMC 10 · 2022 · #24

Grade 8 algebra
lipschitz-conditionfunction-evaluationabsolute-valuebound-inequality-then-enumerateextremal-construction work-backwardsconvert-to-algebraeasier-related-problem ↑ Prerequisites: function-evaluationabsolute-value
📏 Long solution 💡 4 insights
Problem
A function f : R → R has the property that |f(x) - f(y)| ≤ 12\frac{1}{2}|x - y| for every pair of real numbers x, y, and also satisfies f(300) = f(900). Among all such f, what is the greatest possible value of f(f(800)) - f(f(400))?

Pick an answer.

(A)
25
(B)
50
(C)
100
(D)
150
(E)
200

AMC 10 2022 problem © Mathematical Association of America (MAA AMC). Reproduced for educational use.

How to solve
Strategy Work Backwards

Tool #11 (Work Backwards) — we want f(f(800)) - f(f(400)); apply the Lipschitz bound to peel off the outer f first, reducing to bounding |f(800) - f(400)|. Then bound |f(800) - f(400)| via the anchor f(300) = f(900) = c. Tool #9 (Easier) — solve the easier sub-problem: "given f(300) = f(900) = c, how far apart can f(800) and f(400) be?" Tool #13 (Algebra) — combine the two bounds to get ≤ 50. Tool #1 (Diagram) — sketch a piecewise linear f (graph of slopes ≤ 12\frac{1}{2} in absolute value) that hits the bound exactly, proving 50 is achievable. Tool #6 (Guess & Check) — propose a specific f and verify each slope ≤ 12\frac{1}{2}.

1STEP 1

Peel the outer f with the Lipschitz bound: the target reduces to bounding |f(800) - f(400)|.

|f(f(800)) - f(f(400))| ≤ 12\frac{1}{2}|f(800) - f(400)|
2STEP 2

Anchor to f(900) = c: |f(800) - c| ≤ 50; anchor to f(300) = c: |f(400) - c| ≤ 50. So both lie in [c - 50, c + 50].

f(800), f(400) ∈ [c - 50, c + 50]
3STEP 3

Endpoints subtract: |f(800) - f(400)| ≤ 100. Back into step 1, one more halving gives f(f(800)) - f(f(400)) ≤ 50.

f(f(800)) - f(f(400)) ≤ 50
4STEP 4

Now hit the bound: set c = 0 and aim for f(800) = 50, f(400) = -50, forcing f(50) - f(-50) = 50 at slope 12\frac{1}{2}.

f(300) = f(900) = 0, f(800) = 50, f(400) = -50, f(50) - f(-50) = 50
5STEP 5

Piecewise-linear f through (-50,-25),(50,25),(300,0),(400,-50),(800,50),(900,0) has every slope ≤ 12\frac{1}{2} in absolute value.

|slope| ≤ 12\frac{1}{2} on every segment
6STEP 6

Check: f(f(800)) = f(50) = 25, f(f(400)) = f(-50) = -25, difference 25 - (-25) = 50. Bound attained → (B).

f(f(800)) - f(f(400)) = 25 - (-25) = 50 → (B)
Answer
50
Sanity. The Lipschitz constant 12\frac{1}{2} halves every "distance budget" each time we apply the inequality. Applying it twice halves it twice: from the input gap |800 - 400| = 400, naïvely we'd get 14\frac{1}{4}· 400 = 100 for |f(f(800)) - f(f(400))|. But the anchor f(300) = f(900) = c pins both f(800) and f(400) to a band of total width 100 (not 200), so the inner difference is at most 100, and one outer halving gives 50. The construction shows 50 is achievable, so (B). Choice (E) 200 = 12\frac{1}{2}· 400 ignores both the anchor and one application of Lipschitz; (C) 100 ignores one Lipschitz application; (A) 25 over-corrects.
💡Key takeaway

This AMC 10 problem only needs Grade 8 functions you already know — the Lipschitz rule "every step in f is at most half the step in x" applies twice for the nested f(f(·)). The anchor f(300) = f(900) = c forces f(800) and f(400) each within 50 of c, so their difference is at most 100. One more halving gives the answer ≤ 50, and a piecewise linear graph with every slope ≤ 12\frac{1}{2} in absolute value hits 50 exactly.