#P14780. [Bulgarian2022组队赛]Hedgehog

    ID: 13996 传统题 4000ms 1024MiB 尝试: 6 已通过: 1 难度: 7 上传者: 标签>CF2200动态规划树状数组排序数据结构

[Bulgarian2022组队赛]Hedgehog

题目描述

在一个花园里有 N 个水果,每个水果要么是苹果,要么是梨。花园可以看作一个坐标系,所有水果都位于正整数坐标点上。

刺猬 Matthew 当前位于位置 (0, 0)。他每次只能向或向移动 1 个单位,也就是每次只能将 x 坐标或 y 坐标增加 1。

他的目标是通过这样的一系列移动,经过尽可能多的水果所在位置,从而收集尽可能多的水果。

如果存在多种方式都能收集到最多的水果,那么 Matthew 希望在这些方案中选择一种,使得苹果数与梨数之差的绝对值最小

请你编写程序,求出:

  1. Matthew 最多能收集多少个水果;
  2. 在达到这个最大值时,|苹果数 - 梨数| 的最小可能值。

输入格式

第一行输入一个整数 N,表示水果数量。

接下来 N 行,每行输入三个整数 X_i, Y_i, T_i,分别表示第 i 个水果的横坐标、纵坐标和类型:

  • T_i = 1 表示苹果;
  • T_i = 2 表示梨。

输出格式

输出一行两个整数,用空格隔开:

  • 最多可以收集的水果总数;
  • 在达到这个最大值时,苹果数与梨数差的绝对值的最小值。

数据范围

  • 1 ≤ N ≤ 9×10^4
  • 1 ≤ X_i, Y_i ≤ N
  • 1 ≤ 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