Distributed optimization for resource allocation problems is investigated and a sub-optimal continuous-time algorithm is proposed. Our algorithm has lower order dynamics than others to reduce burdens of computation and communication, and is applicable to weight-balanced graphs. Moreover, it can deal with both local set constraints and coupled inequality constraints, and remove the requirement of twice differentiability of the cost function in comparison with the existing sub-optimal algorithm. However, this algorithm is not easy to be analyzed since it involves singular perturbation type dynamics with projected non-differentiable right-hand side. We overcome the encountered difficulties and obtain results including the existence of an equilibrium, the sub-optimality, and the convergence of the algorithm.