Before revision:  When the sites may have different weights, we use dynamic programming to generate an 8-approximate solution, which also runs in polynomial time  .
After revision:  When the sites may have different weights, we present a 12-approximate solution, which also runs in polynomial time .