Whats wrong with the code …?
#include
#include
#include
using namespace std;
bool compare(pair<int,int> p1, pair<int,int> p2)
{
return (p1.second < p2.second);
}
int main()
{
int n ;
cin >> n ;
vector<pair<int,int> > v ;
for(int i =0 ; i < n ; i++)
{
int start , end ;
cin >> start >> end;
v.push_back(make_pair(start - end,start+end));
}
sort(v.begin() , v.end() , compare);
int num_ac = 1;
int finish = v[0].second;
for(int i =1 ; i < v.size() ; i++)
{
if(v[i].first >= finish)
{
num_ac++;
finish = v[i].second ;
}
}
cout << num_ac << endl;
}