#P14780. [Bulgarian2022组队赛]Hedgehog
[Bulgarian2022组队赛]Hedgehog
题目描述
在一个花园里有 N 个水果,每个水果要么是苹果,要么是梨。花园可以看作一个坐标系,所有水果都位于正整数坐标点上。
刺猬 Matthew 当前位于位置 (0, 0)。他每次只能向上或向右移动 1 个单位,也就是每次只能将 x 坐标或 y 坐标增加 1。
他的目标是通过这样的一系列移动,经过尽可能多的水果所在位置,从而收集尽可能多的水果。
如果存在多种方式都能收集到最多的水果,那么 Matthew 希望在这些方案中选择一种,使得苹果数与梨数之差的绝对值最小。
请你编写程序,求出:
- Matthew 最多能收集多少个水果;
- 在达到这个最大值时,
|苹果数 - 梨数|的最小可能值。
输入格式
第一行输入一个整数 N,表示水果数量。
接下来 N 行,每行输入三个整数 X_i, Y_i, T_i,分别表示第 i 个水果的横坐标、纵坐标和类型:
T_i = 1表示苹果;T_i = 2表示梨。
输出格式
输出一行两个整数,用空格隔开:
- 最多可以收集的水果总数;
- 在达到这个最大值时,苹果数与梨数差的绝对值的最小值。
数据范围
1 ≤ N ≤ 9×10^41 ≤ X_i, Y_i ≤ N1 ≤ T_i ≤ 2
子任务与评分
| 子任务 | N ≤ |
分值 |
|---|---|---|
| 1 | 100 | 5 |
| 2 | 400 | |
| 3 | 5000 | 10 |
| 4 | 2×10^4 |
15 |
| 5 | 5×10^4 |
25 |
| 6 | 9×10^4 |
40 |
样例
输入
4
1 2 1
2 1 2
3 1 1
4 3 2
输出
3 1
样例解释
刺猬先吃掉 (2,1) 处的梨,然后走到 (3,1) 处的苹果,最后到达 (4,3) 处的第二个梨。
这样一共收集了 3 个水果,苹果数为 1,梨数为 2,因此绝对差为:
|1 - 2| = 1