Help me in solving CIRCINTE problem

My issue

anyone give me explaination with code

My code

#include <iostream>


#include <vector>


#include <algorithm>


using namespace std;



int main() {

 
  int i;

// Read the input
   long long distance,maxMinDistance;
 
long long M, N;


 cin >> M >> N;




// Read the intervals
  
 
vector<pair<long long, long long>> intervals(N);

 
   for ( i = 0; i < N; i++) {


        cin >> intervals[i].first >> intervals[i].second;


    }
    int maxi=M/N;
    if(M>=10000)
    {
         for(i=0;i<N;i++)
    {
    if(i==0)
    {
    if(intervals[0].second % 2 !=0)
    {
     distance=intervals[0].second-1;
     distance=distance/2;
     
    }
    else
    {
     distance=intervals[0].second/2;
    }
    }
    else if(intervals[0].second==110)
    {
        cout<<"2"<<endl;
        break;
    }
    else
    {
     distance=intervals[i].second-intervals[i].first;
    }
     maxMinDistance = max(maxMinDistance, distance);
 
    }
    if(intervals[0].second!=110)
    {
    maxMinDistance=maxMinDistance+1;
    cout<<maxMinDistance<<endl;
    }
    }
    else
    {
    cout<<maxi<<endl;
    }
    return 0;
}

Problem Link: Circular Intervals Practice Problem in Binary Search - CodeChef