简单贪心

POJ3069

从最左边的点开始不停的往右更新

code:

using namespace std;
int n,r;
int main()
{
while (scanf("%d%d",&r,&n)!=EOF&&(r!=-1&&n!=-1))
{
int x[1005];
int i, j;
for (i = 1; i <= n; i++)
{
scanf("%d",&x[i]);
}
sort(x + 1, x + 1 + n);
i = 1;
int ans = 0;
while (i<=n)
{
int s = x[i++];
while(i<=n&&x[i] <=s+ r)i++;
int p = x[i - 1];
while (i<=n&&x[i] <= p + r)i++;
ans++;
}
printf("%d\n",ans);
}
}

猜你喜欢

转载自blog.csdn.net/qq_17175221/article/details/80149458