#include<stdio.h>
#include<stdlib.h>
int getTour(int petrol[],int distance[], int n)
{
int sum=0,start=0,diff=0;
for(int i=0;i<n;i++)
{
sum=sum+petrol[i]-distance[i];
if(sum<0)
{
start=i+1;//changing start point
diff+=sum;//storing the negative values
sum=0;//starting again form new station
}
}
return sum+diff>0? start: -1;//if sum+diff <0 which means the petrol and distance is not matched
}
int main()
{
int petrol[4]={4,6,7,4};
int distance[4]={6,5,3,5};
int value=getTour(petrol,distance,4);
}
I2luY2x1ZGU8c3RkaW8uaD4KI2luY2x1ZGU8c3RkbGliLmg+CgppbnQgZ2V0VG91cihpbnQgcGV0cm9sW10saW50IGRpc3RhbmNlW10sIGludCBuKQp7CglpbnQgc3VtPTAsc3RhcnQ9MCxkaWZmPTA7CiAgICAgICAgZm9yKGludCBpPTA7aTxuO2krKykKICAgICAgICB7CiAgICAgICAgICAgIHN1bT1zdW0rcGV0cm9sW2ldLWRpc3RhbmNlW2ldOwogICAgICAgICAgICAKICAgICAgICAgICAgaWYoc3VtPDApCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHN0YXJ0PWkrMTsvL2NoYW5naW5nIHN0YXJ0IHBvaW50CiAgICAgICAgICAgICAgICBkaWZmKz1zdW07Ly9zdG9yaW5nIHRoZSBuZWdhdGl2ZSB2YWx1ZXMKICAgICAgICAgICAgICAgIHN1bT0wOy8vc3RhcnRpbmcgYWdhaW4gZm9ybSBuZXcgc3RhdGlvbgogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiBzdW0rZGlmZj4wPyBzdGFydDogLTE7Ly9pZiBzdW0rZGlmZiA8MCB3aGljaCBtZWFucyB0aGUgcGV0cm9sIGFuZCBkaXN0YW5jZSBpcyBub3QgbWF0Y2hlZAp9CgppbnQgbWFpbigpCnsKCWludCBwZXRyb2xbNF09ezQsNiw3LDR9OwoJaW50IGRpc3RhbmNlWzRdPXs2LDUsMyw1fTsgCiAgCiAgCWludCB2YWx1ZT1nZXRUb3VyKHBldHJvbCxkaXN0YW5jZSw0KTsKICAJcHJpbnRmKCIlZFxuIix2YWx1ZSk7Cn0=