• Bio
  • Recent Activities
//Subarray Sum
#include <iostream>
#include <algorithm>
using namespace std;

struct div
{
	int l,r;
	bool inv;
	bool operator<(div y)
	{
		if(l==y.l)return r<y.r;
		return l<y.l;
	}
}a[100002];

int main()
{
	int n,l=-1e9-7,cnt=0;
	cin >> n;
	for(int i=1;i<=n;i++)
	{
		int x,l_;
		cin >> x >> l_;
		a[i].l=x-l_;
		a[i].r=x+l_;
		//cout << l << " " << a[i].l << " " << a[i].r << endl;
	}
	sort(a+1,a+n+1);
	int f=0;
	do
	{
		f=0;
		for(int i=1;i<=n;i++)
		{
			if(!a[i].inv)
			{
				if(a[i].r<l)
				{
					a[i-1].inv=1;
					f=1;
					//cout << i << endl;
				}
				l=a[i].r;
			}
		}
	}while(f);
	l=-1e9;
	for(int i=1;i<=n;i++)
	{
		if(!a[i].inv&&a[i].l>=l)
		{
			l=a[i].r;
			cnt++;
			//cout << i << " ";
		}
		//cout << l << " " << a[i].l << " " << a[i].r << endl;
	}
	cout << cnt;
	return 0;
}