In the modern smart home and community, smart meters have been massively deployed for the replacement of traditional analog meters. Although it significantly reduces the cost of data collection as the meter readings are wireless transmitted, a smart meter is not tamper-resistant. As a consequence, the smart grid infrastructure is under threat of energy theft, by means of attacking a smart meter so that it undercounts the electricity usage. Deployment of feeder remote terminal unit (FRTU) helps narrow the search zone of energy theft in smart home and community. However, due to budgetary limit, utility companies can only afford to insert the minimum number of FRTUs. This imposes a signifcant challenge to deploy the minimum number of FRTUs while each smart meter is still effectively monitored. To the best of our knowledge, the only work addressing this problem is [1] , which uses stochastic optimization methods. Their algorithm is not very practical as it cannot handle large distribution networks because of the scalability issue. Due to the inherent heuristic and non-deterministic nature, there is no guarantee on the solution quality as well. Thus, the high performance energy theft detection is still needed for this energy theft problem. In order to resolve this challenge, we propose a new dynamic programming algorithm that inserts the minimum number of FRTUs satisfying the detection rate constraint. It evaluates every candidate solution in a bottom-up fashion using an innovative pruning technique. As a deterministic polynomial time algorithm, it is able to handle large distribution networks. In contrast to [1] which can only handle small system, our technique can perform FRTU insertion for a large scale power system. Our experimental results demonstrate that the average number of FRTUs required is only 26% of the number of smart meters in the community. Compared with the previous work, the number of FRTUs is reduced by 18.8% while the solution quality in terms of anomaly coverage index metric is still improved.