SP19686 MCAMP - Mining Camps

题目描述

Mansur 正在玩一款新的电脑策略游戏。在这种游戏中,采集资源是主要任务。好在这款游戏中,只需要一种资源来发展,那就是黄金,同时还有一种辅助资源——能量。游戏里有若干采矿营地,每个营地都会提供一定数量的黄金和能量。这些营地全部沿同一条直线排列。您可以通过建造一种保护屏障(一个包含若干采矿营地的连续线段)来保护这些营地,所需能量与该线段的长度相等。(如果保护屏障的起点营地位置为 $X_1$,终点营地位置为 $X_2$,那么整个保护屏障需要的能量为 $|X_1 - X_2|$)。Mansur 的目标是建造一个保护屏障,使得屏障内的采矿营地能够提供足够的能量支持屏障,并且营地提供的黄金数量达到最大。请编写程序帮助 Mansur 确定他最多可以从受保护的采矿营地中获取多少黄金。

输入格式

输入的第一行是一个整数 $N$,表示采矿营地的数量。 $N \leq 10^5$ 接下来的 $N$ 行,每行包括三个以空格分隔的整数 $x_i, g_i, d_i$,分别表示矿井的位置坐标、该矿井提供的黄金数量和能量。所有 $x_i$ 均不相同,且按升序给出。

输出格式

输出一个整数,表示 Mansur 可以从受保护的采矿营地中获得的最大黄金数量。 ``` 输入示例: 4 0 5 1 1 7 2 4 4 1 7 15 1 输出示例: 16 解释: 保护屏障覆盖的营地范围为 [1,3],营地提供的总能量为 1+2+1=4,满足保护屏障所需能量 4-0=4,因此最佳黄金总量为 5+4+7=16。 ``` **本翻译由 AI 自动生成**