Optimal Algorithms for Submodular Maximization with Distributed Constraints