Large number of users are shifting to the cloud system for their different kind of needs. Hence the number of applications on public cloud are increasing day by day. Handling public cloud is becoming unmanageable in comparison to other counterparts. Though fog technology has reduced the load on centralized cloud resources to a remarkable extent, still load handled at cloud end is significantly high. Geographic partitioning of public cloud can resolve these issues by adding manageability and efficiency in this situation. Dividing public cloud in smaller partitions opens ways to manage resources and requests in a better way. But, partitioned clouds introduce different ends for submission and operations of tasks and virtual machines. We have tried to handle all these complexities in this paper. Proposed work is focused upon load balancing in the partitioned public cloud by combining centralized and decentralized approaches, assuming the presence of fog layer. A load balancer entity is used for decentralized load balancing at partitions and a controller entity is used for centralized level to balance the overall load at various partitions. In the proposed approach, it is assumed that jobs are segregated first. All the jobs which can be handled locally by fog resources are not forwarded to the cloud layer directly. Those are processed locally by decentralized fog resources. Selection of an appropriate Virtual Machine (VM) for filtered set of job, which are forwarded to cloud environment, is done in three steps. Initially, selecting the partition with a maximum available capacity of resources. Then finding the appropriate node with maximum available resources, within a selected partition. And finally, the VM with minimum execution time for a task is chosen. Results are compared with the results produced in this work with First Come First Serve (FCFS) and Shortest Job First (SJF) algorithms, implemented in same setup i.e. partitioned cloud. This paper compares the Waiting Time, Finish Time and Actual Run Time of tasks using these algorithms. After initial experimentation, it is found that in most of the cases, while comparing above parameters, the proposed approach is producing better results than FCFS algorithm. But results produced by SJF algorithm produce better results. To reduce the number of unhandled jobs, a new load state is introduced which checks load beyond conventional load states. Major objective of this approach is to reduce the need of runtime virtual machine migration and to reduce the wastage of resources, which may be occurring due to predefined values of threshold. The implementation is done using CloudSim.