In this paper, we revisit the problem of distributed coverage with a fleet of robots in convex and nonconvex environments. In the majority of approaches for this problem, the environment is partitioned, each robot is assigned to a partition and each robot moves toward a location that improves the service quality in its partition. These approaches converge to a locally optimal solution, however, there is no guarantee on the quality of the locally optimal solution with respect to the globally optimal solution. We propose distributed algorithms for the coverage problem in convex continuous, non-convex continuous and metric graphs. We consider sub-additive sensing functions, which capture scenarios where the service quality of a location is proportional to the distance between the robot and the location. For these sensing functions, we provide the first constant factor approximation algorithms for the distributed coverage problem. We also characterize the time and communication complexity of the proposed algorithm and show that the robots converge to a near-optimal solution in polynomial time. The approximation factor guarantees on the solution quality requires twice the conventional communication range, however, the extensive simulation results show that the proposed algorithm provides close to optimal solution with the conventional communication range as well, and outperforms several existing algorithms in convex, non-convex continuous environments and metric graphs.