Maths Olympiad Prep

Library / IMO Shortlist /43 of 365

IMO Shortlist, 2019

Combinatorics Difficulty 7.9 National Olympiad, round 2 Prove it IMO

You are given a set of nn blocks, each weighing at least 11; their total weight is 2n2n. Prove that for every real number rr with 0⩽r⩽2n−20 \leqslant r \leqslant 2n-2 you can choose a subset of the blocks whose total weight is at least rr but at most r+2r+2.

Solutions — 2

Solution 1

Claim. Suppose that you have nn blocks, each of weight at least 11, and of total weight s⩽2ns \leqslant 2n. Then for every rr with −2⩽r⩽s-2 \leqslant r \leqslant s, you can choose some of the blocks whose total weight is at least rr but at most r+2r+2.

Proof. The base case n=1n=1 is trivial. To prove the inductive step, let xx be the largest block weight. Clearly, x⩾s/nx \geqslant s/n, so s−x⩽n−1ns⩽2(n−1)s-x \leqslant \frac{n-1}{n} s \leqslant 2(n-1). Hence, if we exclude a block of weight xx, we can apply the inductive hypothesis to show the claim holds (for this smaller set) for any −2⩽r⩽s−x-2 \leqslant r \leqslant s-x. Adding the excluded block to each of those combinations, we see that the claim also holds when x−2⩽r⩽sx-2 \leqslant r \leqslant s. So if x−2⩽s−xx-2 \leqslant s-x, then we have covered the whole interval [−2,s][-2, s]. But each block weight is at least 11, so we have x−2⩽(s−(n−1))−2=s−(2n−(n−1))⩽s−(s−(n−1))⩽s−xx-2 \leqslant (s-(n-1))-2 = s-(2n-(n-1)) \leqslant s-(s-(n-1)) \leqslant s-x, as desired.

Solution 2

Let x1,…,xnx_1, \ldots, x_n be the weights of the blocks in weakly increasing order. Consider the set SS of sums of the form ∑j∈Jxj\sum_{j \in J} x_j for a subset J⊆{1,2,…,n}J \subseteq \{1,2, \ldots, n\}. We want to prove that the mesh of SS—i.e., the largest distance between two adjacent elements—is at most 22.

For 0⩽k⩽n0 \leqslant k \leqslant n, let SkS_k denote the set of sums of the form ∑i∈Jxi\sum_{i \in J} x_i for a subset J⊆{1,2,…,k}J \subseteq \{1,2, \ldots, k\}. We will show by induction on kk that the mesh of SkS_k is at most 22.

The base case k=0k=0 is trivial (as S0={0}S_0 = \{0\}). For k>0k > 0 we have
Sk=Sk−1∪(xk+Sk−1) S_k = S_{k-1} \cup \left(x_k + S_{k-1}\right)
(where (xk+Sk−1)\left(x_k + S_{k-1}\right) denotes {xk+s:s∈Sk−1}\left\{x_k + s : s \in S_{k-1}\right\}), so it suffices to prove that xk⩽∑j<kxj+2x_k \leqslant \sum_{j<k} x_j + 2. But if this were not the case, we would have xl>∑j<kxj+2⩾k+1x_l > \sum_{j<k} x_j + 2 \geqslant k+1 for all l⩾kl \geqslant k, and hence
2n=∑j=1nxj>(n+1−k)(k+1)+k−1 2n = \sum_{j=1}^n x_j > (n+1-k)(k+1) + k-1
This rearranges to n>k(n+1−k)n > k(n+1-k), which is false for 1⩽k⩽n1 \leqslant k \leqslant n, giving the desired contradiction.

Want a route through all this instead of an archive? The track puts 2,604 problems in a working order, from Junior Challenge level to the IMO shortlist.

Source: MathNet, licensed CC-BY-4.0. Statement reproduced verbatim; metadata (topic, difficulty) added by this project.