CF1045G AI robots

题目描述

在上一次任务中,MDCS 成功地将 $N$ 台 AI 机器人运送到了火星。在它们开始探索之前,需要进行系统初始化,因此它们被排列成一条直线。每个机器人可以用三个数字描述:位置($x_i$)、视野半径($r_i$)和智商($q_i$)。 由于它们是智能机器人,如果彼此能看到对方,有些机器人会开始交谈。视野半径是闭区间,因此机器人可以看到所有位于 $[x_i - r_i, x_i + r_i]$ 范围内的机器人。但它们不会和所有机器人交谈,只会和智商相近的机器人交谈。所谓智商相近,指的是它们的智商绝对差值不超过 $K$。 请帮我们计算有多少对机器人会互相交谈,以便我们及时更新它们的软件,避免潜在的争吵。

输入格式

第一行包含两个整数 $N$($1 \leq N \leq 10^5$)和 $K$($0 \leq K \leq 20$)。 接下来的 $N$ 行,每行包含三个整数 $x_i, r_i, q_i$($0 \leq x_i, r_i, q_i \leq 10^9$),分别表示每个机器人的位置、视野半径和智商。

输出格式

输出仅包含一个整数,即满足条件的机器人对数。

说明/提示

第一个机器人可以看到第二个机器人,但反过来不成立。第一个机器人甚至看不到第三个机器人。第二个和第三个机器人可以互相看到,并且它们的智商差不超过 2,因此只会发生一次对话。 由 ChatGPT 4.1 翻译