AlgoMooc
← 返回题库

P3194. 社交距离

困难通过率 45% · 提交 342 · 通过 153
贪心模拟数学

小慕负责安排公司会议室的座位,会议室里有一排共N个座位,编号从0到N-1。员工们会一个接一个地进入会议室,也可以在任意时刻离开。 规则是:每当一名员工进入时,他需要坐到能获得上。社交距离是指该座位与左右两侧已有员工座位之间的距离。如果某个座位左右两侧都没有人,则距离视为无限大;如果只有一侧有人,则只计算那一侧的距离。如果有多个座位与左右最近员工的距离相同(比如座位A左右距离分别为2和2,座位B左右距离分别为2和3,两者都受两个位置的影响,则认为社交距离相同),则选择编号最小的那个座位。

提示:带虚线的词点一下有通俗解释。

输入描述

会议室座位总数seatNum,(1 ≤ seatNums ≤ 500) 员工的进出顺序seatOrLeave数组,元素值为1:表示进场;元素值为负数,表示出场(特殊:位置0的员工不会离开),例如-4表示坐在位置4的员工离开(保证有员工坐在该座位上)

输出描述

最后进来员工,他会坐在第几个位置,如果位置已满,则输出-1

示例

示例 1

输入

10
[1, 1, 1, 1, -4, 1]

输出

5

时间限制 1000 ms · 内存限制 128 MB

看不懂题目?点开图解(训练营专属)

登录后查看题目图解

题目图解为训练营学员专属内容,请先登录。

微信扫码登录还不是训练营学员?了解训练营 →
写完代码点「提交」,将对全部测试用例判题。