#304. Bessie's Interview

0

Bessie's Interview

Bessie's Interview

题目描述

Bessie 正在寻找一份新工作!幸运的是,目前有 KK 位农夫正在招人并进行面试。由于工作竞争非常激烈,农夫们决定按照奶牛的报名顺序给她们编号并依次面试。在 Bessie 之前共有 NN 头奶牛报名,因此她的编号是 N+1N+1 (1≤K≤N≤3⋅1051 \leq K \leq N \leq 3 \cdot 10^5)。

面试流程如下:在时间 00,对每个 1≤i≤K1 \leq i \leq K,农夫 ii 将开始面试奶牛 ii。当某位农夫完成一次面试后,他会立刻开始面试队伍中的下一头奶牛。如果有多位农夫在同一时间完成面试,那么下一头奶牛可以根据自己的偏好,在所有空闲的农夫中选择任意一位来面试。

对于每个 1≤i≤N1\le i\le N,Bessie 已经知道奶牛 ii 的面试将恰好需要 tit_i 分钟(1≤ti≤1091 \leq t_i \leq 10^9)。然而,她并不知道每头奶牛对农夫的偏好。

由于这份工作对 Bessie 非常重要,她想仔细为面试做准备。为此,她需要知道自己将会在什么时候开始面试,以及哪些农夫有可能面试她。请帮助她找出这些信息!

输入格式

第一行包含两个整数 NN 和 KK。 第二行包含 NN 个整数 t1…tNt_1 \dots t_N。

输出格式

第一行输出 Bessie 的面试开始时间。 第二行输出一个长度为 KK 的比特串,其中第 ii 位为 11 当且仅当农夫 ii 可能面试 Bessie,否则为 00。

6 3
3 1 4159 2 6 5
8
110

提示

除 Bessie 外共有 66 头奶牛,并且有 33 位农夫,面试流程如下: 在时间 t=0t = 0,农夫 11 面试奶牛 11,农夫 22 面试奶牛 22,农夫 33 面试奶牛 33。 在时间 t=1t = 1,农夫 22 完成对奶牛 22 的面试并开始面试奶牛 44。 在时间 t=3t = 3,农夫 11 和农夫 22 都完成了面试,此时有两种可能: 农夫 11 面试奶牛 55,农夫 22 面试奶牛 66。在这种情况下,农夫 22 会在时间 t=8t = 8 完成面试并开始面试 Bessie。 农夫 11 面试奶牛 66,农夫 22 面试奶牛 55。在这种情况下,农夫 11 会在时间 t=8t = 8 完成面试并开始面试 Bessie。 因此,Bessie 的面试将于时间 t=8t = 8 开始,她可能由农夫 11 或农夫 22 面试。 SCORING: 测试点 2-3:不存在两位农夫在同一时间完成面试。 测试点 4-9:N≤3⋅103N\le 3\cdot 10^3 测试点 10-21:无额外限制。 题目贡献:Avnith Vijayram

标签: USACO|2024|Silver

来源

USACO|2024|Silver