luogu#B4030. [语言月赛 202409] 距离

[语言月赛 202409] 距离

题目描述

迅风的班上一共有 nn 个人,学号为 1n1\sim n。每个同学都对班里其他所有同学有一个好感度,这个好感度始终是自然数。一开始每个人对其他人的好感度00

接下来在这个班级里按时间顺序发生了 mm 件事情。每件事情发生后,会让一位同学对另一位同学的好感度增加或减少。

迅风想在每一件事发生后,立刻知道如果他随便选两个同学 p,qp,q,那么 ppqq 好感度的最大值是多少。你能帮帮他吗?

注意:好感度不是相互的。ppqq 的好感度可以不等于 qqpp 的好感度。

输入格式

输入的第一行有两个正整数 n,mn,m,分别表示同学的人数和事情的个数。

之后有 mm 行,每行有四个正整数 op,a,b,cop,a,b,c 描述一次事情。

  • 如果 opop11,表示事情发生后,aa 号同学对 bb 号同学的好感度增加了 cc
  • 如果 opop22,表示事情发生后,aa 号同学对 bb 号同学的好感度减少了 cc

输出格式

输出共 mm 行,每行一个整数,表示一个同学对另一个同学的好感度最大值。

2 3
1 1 2 4
1 2 1 6
2 2 1 3

4
6
4

提示

【样例 1 解释】

班里有 22 位同学,发生了 33 件事情。下面用表格来整理这三件事情。

事情编号 事情效果 1122 好感度 2211 好感度 输出数字
初始 00 00
11 1122 的好感度增加 44 44 44
22 2211 的好感度增加 66 66
33 2211 的好感度减少 33 33 44

【数据范围】

测试点编号 nn\le mm\le 特殊性质
141\sim 4 1010
575\sim 7 100100 每个事情发生前,aabb 好感度都是 00(只有一件事情会影响 aabb 的好感度)
8118\sim 11 对于每个事情,都有 a=1a=1
121512\sim 15 保证 op=1op=1
162016\sim 20

对于所有数据,保证 2n1002\le n\le 1001a,bn1\le a,b\le n1c1051\le c\le 10^5,且任意时刻任何人对其他所有人的好感度都是自然数。