Problem statement is here[Link]
I have below solution to the problem.
#include <bits/stdc++.h>
using namespace std;
const int MAXLEN = 100001;
int main()
{
int n;
cin >> n;
int x;
cin >> x;
deque<pair<int, int> > input;
int st, end;
for(int i = 0; i < n; i++)
{
cin >> st;
cin >>end;
input.push_back(make_pair(st, end));
}
int trav = 1;
int sum = 0;
while(!input.empty())
{
int nxt = input.front().first;
while(trav <= nxt)
{
trav += x;
}
trav -= x ;
int last = input.front().second ;
sum += last - trav + 1;
trav = last ;
input.pop_front();
}
cout << sum <<endl;
return 0;}
For very first test case, my solution prints 7 while accepted answer is 6. With several attempts i am not able to think what i am doing wrong. Any help in this will be greatly appreciated.







