Exchange arguments work well when:
There is a natural ordering of choices (first, second, third..)
You can identify where OPT first differs from G
Swapping one choice affects only "later" choices, not "earlier" ones
The swap is valid (does not break constraints) Activity selection fits perfectly: activities are ordered, and replacing an earlier activity with one that ends sooner never conflicts with later choices. When you see a problem with sequential decisions, think exchange argument.