'''
解题思路:
1、sum(gas)<sum(cost)无解
2、行驶过程中,如gas[k]-cost[k]的累积值小于0,跳过k
3、在终点,如gas[k]-cost[k]的累积值大于等于0,即是解
'''

class Solution:
    def canCompleteCircuit(self, gas, cost):

        #print(gas)
        #print(cost)

        n = len(gas)
        pos = list(range(n))+list(range(n-1))
        #print(pos)

        if sum(gas)<sum(cost):
            return -1

        for istart in range(n):
            #print('istart=',istart)
            t = 0
            succeed = 0
            for i in range(istart,istart+n):
                k = pos[i]
                #print('k=',k)
                t += gas[k]-cost[k]
                #print('t=',t)
                if t<0:
                    break
                if i==istart+n-1 and t>=0:
                    succeed = 1
            if succeed==1:
                return istart


gas  = [1,2,3,4,5]
cost = [3,4,5,1,2]
t = Solution().canCompleteCircuit(gas,cost)
print(t)