CF939F Cutlet
题目描述
Arkady 想要吃晚餐。他刚从商店回来,买了一块半成品肉饼。他只需要把它煎熟。这块肉饼需要煎 $2n$ 秒,具体来说,需要在一面煎 $n$ 秒,在另一面也煎 $n$ 秒。Arkady 已经准备好了平底锅并点燃了火,但他发现自己可能无法在烹饪开始后恰好 $n$ 秒时翻面。
Arkady 正忙于在他最喜欢的聊天软件中整理贴纸包,他只能在某些时间段内翻动肉饼。具体来说,有 $k$ 个时间段他可以翻面,第 $i$ 个时间段是从烹饪开始后 $l_{i}$ 秒到 $r_{i}$ 秒(包含两端)。Arkady 认为不需要恰好在烹饪中间翻面,他可以多次翻面,只要最终每一面都恰好煎 $n$ 秒即可。
请帮助 Arkady 判断,如果他只能在给定的时间段内翻面,是否有可能将肉饼煎熟;如果可以,请求出他至少需要翻面的次数。
输入格式
第一行包含两个整数 $n$ 和 $k$($1 \leq n \leq 100000$,$1 \leq k \leq 100$),分别表示每一面需要煎的秒数和可以翻面的时间段数量。
接下来的 $k$ 行,每行包含两个整数 $l_{i}$ 和 $r_{i}$($0 \leq l_{i} \leq r_{i} \leq 2n$),表示 Arkady 可以在烹饪开始后从 $l_{i}$ 秒到 $r_{i}$ 秒之间的任意时刻翻面。特别地,如果 $l_{i} = r_{i}$,则只能在 $l_{i}$ 时刻翻面。保证对于所有 $2 \leq i \leq k$,都有 $l_{i} > r_{i-1}$。
输出格式
如果 Arkady 无法让肉饼每一面都恰好煎 $n$ 秒,输出 "Hungry"。
否则,第一行输出 "Full",第二行输出他至少需要翻面的次数。
说明/提示
在第一个样例中,Arkady 应该在烹饪开始后第 $3$ 秒和第 $13$ 秒翻面。
在第二个样例中,Arkady 可以在烹饪开始后第 $10$ 秒翻面。
由 ChatGPT 4.1 翻译