问题 5440 --世界线变动之3.255440: 世界线变动之3.25
时间限制: 2 Sec 内存限制: 256 MB
提交: 5 解决: 2
[提交][状态][命题人:]题目描述
某互联网公司内部每年会对员工进行效绩评分,4分最高,3.25分最低,连续2年最低就离职,拿3.25这一年,不能加薪升职没有年终奖。因此被3.25也代表将被辞退。
在某一个世界线,小明进入了一家公司,公司内有 n 个员工。每年年末,都会开除若干表现最差的员工,并新招募相同数量的员工,使得公司人数始终稳定在 n 人。每名员工都有不同的表现,可以用一个整数表示,数值越大表现越好。没有两名员员工有相同的表现。
初始 n 名员工中,第 i 名员工的表现为 a[i] 。小明是第 1 名员工,表现为 a[1] 。接下来 m 年,第 i 年会末位淘汰表现最差的 r[i] 名员工,并新招募 r[i] 名员工。第 i 年新加入的第 j 名员工的能力值为 b[i][j] 。
由于某未来发明研究所的原因,世界线发生了 q 次变动。每次变动,会将第 x 年新招募的第 y 名员工的表现变为 z 。每次变动的影响都是永久的。
小明想知道,每次操作后,他是否会被开除。
输入
第一行包含三个正整数 n,m,q (2≤n≤10^5, 1≤m,q≤10^5) ,表示公司员工数、年数、修改次数。
第二行包含 n 个整数 a[1],a[2],...,a[n] (0≤a[i]≤10^9) ,表示初始每名员工的能力值。
接下来 m 行,第 i 行包含 r[i],b[i][1],b[i][2],...,b[i][r[i]] (1≤r[i]<n, 0≤b[i][j]≤10^9),表示第 i 年开除和新招募的人数 r[i] ,和新招募的每名员工的能力值。保证所有 r[i] 之和不超过 10^6 。
接下来 q 行,每行包含三个整数 x,y,z (1≤x≤m, 1≤y≤r[x], 0≤z≤10^9) ,表示将第 x 年新招募的第 y 名员工的表现变为 z 。
输入保证所有 a[i],b[i][j],z 的值均不相同。
输出
输出 q 行,每行包含一个整数 0 或 1 。若第 i 次修改后,m 年后小明不会被开除,则输出 1 ,反之输出 0 。
提示
在样例中,小明的表现为 50 。
对于第一次操作,将 b[1][3] 修改为 300 。然后 3 年的变化为:
- 第一年,员工表现从大到小为 {50,40,30,20,10} ,最末的 4 为雇员被淘汰,只剩 {50} ,然后新加入 4 名员工,变为 {300,100,50,2,1} 。
- 第二年,淘汰 1 名员工并新加入 1 名员工,表现序列为 {300,100,50,4,2} 。
- 第三年,淘汰 2 名员工并新加入 1 名员工,表现序列为 {300,100,50,7,6} 。
因此 3 年后,小明不会被开除。
对于第二次操作,将 b[2][1] 修改为 400 。然后 3 年的变化为:
- 第一年,员工表现从大到小为 {50,40,30,20,10} ,最末的 4 为雇员被淘汰,只剩 {50} ,然后新加入 4 名员工,变为 {300,100,50,2,1} 。
- 第二年,开除 1 名员工并新加入 1 名员工,表现序列为 {400,300,100,50,2} 。
- 第三年,开除 2 名员工(包括小明)并新加入 2 名员工,表现序列为 {400,300,100,7,6} 。
因此 3 年后,小明会被开除。
来源
[提交][状态]