塔子月赛第一场-丰厚奖金+送会员
- Status
- Done
- Rule
- IOI
- Problem
- 4
- Start at
- 2023-5-20 19:00
- End at
- 2023-5-20 21:00
- Duration
- 2 hour(s)
- Host
- Partic.
- 93
You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.
读懂题意即可。可能有些谜语人。塔子哥谢罪好吧。
塔子哥在组里负责姿态识别的任务。现在他遇到了一个难题:希望根据人脸位置来判断人的姿态:是坐着还是站着还是趴着。但是前端传来的数据只有一系列人脸的Y轴高度。所以做了一个规定:序列中与中位数(偶数取右边那个数)差的绝对值不超过k 的数判定为坐着。低于的部分判定为趴着,高于的部分判定为站着。
与此同时,由于人脸识别模块比较烂,所以可能会出现识别不到人脸的情况。那么根据通常的经验,如果连续超过三帧丢失人脸,则这一段全部标记为丢失。否则设定这一段状态与这一段状态的前一帧一致。特别的,如果序列一开始就是未识别状态则删去这一段无用数据。
第一行输入一个整数n,k(1≤n≤1e5,0≤k≤1e8) , 代表传入进来的高度Y轴序列长度以及阈值k
第二行输入n个整数ai(1≤ai≤1e8),代表人脸高度. 帧丢失时ai=−1
输出一行,代表识别的结果。0 代表趴着 , 1 代表坐着 , 2 代表站着, −1 代表丢失
输入
4 0
1 2 3 2
输出
0 1 2 1
样例说明
中位数是2 , 由于k=0 , 那么只有2被识别为坐着,1是趴着,3是站着
输入
6 1
-1 7 4 2 -1 -1
输出
2 1 0 0 0
样例说明
删除所有−1后 , 中位数是4
输入
10 0
1 -1 -1 -1 -1 0 -1 -1 -1 1
输出
1 -1 -1 -1 -1 0 0 0 0 1
本题属于以下题库,请选择所需题库进行购买