Amazon 4-for-3 deal:
Buy 4 item and have the one with the least price free. 4-for-3 items are under $10.
I believe if I buy 4n books, then it will be made into a 4n-for-3n deal that's not in writing, where n items with the least price is free. I did not test it yet, hope someone try that for me. Maxium saving is 25%, not bad.
How to maximize the amount of saving, suppose there is no such thing as shipping fee(If you are in your Amazon prime trial period).
1. Assume one have to buy n items.
2. If n is divisible by 4, the best strategy is to sort the items by price, forms a series of prices
, where
. This also forms set B.(uhh.. this set allows repetition of elements...)
3. Buy a vector of them each time
for
, which will maximize saving.
Proof: The total amount of money paid for this method is

Make each of the number removed into a set, S
Each time find one element for S, the 4 element of B is removed.
A non-rigorous proof
Create n blocks out of 4n elements in B, name it 
S is set containing the minimal for each
.
we can see
has to be part of S, and
.
suppose
is not in
, but in
,
and
is the smallest number in
other than
.
If one switch
with
, we can find all the smallest number in
is larger than
. All the rest blocks doesn't change at all.
Which shows that
must be in the same block with
to allow the sum of S be maximized.
use the same reasoning for
and
.
and use the same reasoning for all blocks.
we get the original way have to be the best way.
If the count of elements in B is not divisible by 4, the best way is still the same, group items of 4 from most expensive to least expensive, remain a few least expensive ones in one group, buy each group separately.
This can be extended to any n-for-n-1 deals and should be able to extend to any n-for-k deals, where k lesser than n.
Recent comments
19 hours 3 min ago
1 day 11 hours ago
1 day 12 hours ago
3 days 10 hours ago
3 days 10 hours ago
3 days 11 hours ago
3 days 15 hours ago
4 days 7 min ago
4 days 2 hours ago
5 days 11 hours ago