#P15453. [JOI 2026 SemiFinal] 衣服 / Clothes
[JOI 2026 SemiFinal] 衣服 / Clothes
Description
ビーバーのビ太郎は,これから服屋で 枚以上の服を購入しようとしている.服屋では全部で 種類の服が販売されており,服の種類には から までの番号が付けられている.服屋にはそれぞれの種類の服の在庫が十分な数用意されており,ビ太郎がいくら服を買っても品切れになることはない.
ビ太郎は,購入した服を着ることで体感温度を調節することができる.気温が 度であり,ビ太郎が種類 の 枚の服を着ている場合,ビ太郎の体感温度は である.ただし,ビ太郎は 枚以上の好きな枚数の服を着ることができる(服を着ていない,すなわち の場合は体感温度は 度である).また,ビ太郎は同じ種類の服を一度に複数枚着ることもでき,その種類の服を着た分だけ体感温度は重複して上昇することに注意せよ.
ビ太郎は天気予報により,今後 日間の気温は順に 度, 度,, 度になることを知った.ビ太郎は服屋で適切に服を購入することで,今後 日間のいずれの日も,うまく着服を選ぶことで体感温度を 度にできるようにしたいと考えている.また,そのような服の購入が可能である場合は,購入する服の枚数を最小限にしたいと考えている.
今後 日の気温の情報が与えられたとき,ビ太郎がいずれの日も体感温度を 度にできるような服の購入は可能であるか判定し,可能である場合は購入する服の数が最小となるような服の買い方の一例を求めるプログラムを作成せよ.
Input Format
入力は以下の形式で標準入力から与えられる.
Output Format
標準出力に以下の形式で出力せよ.
ビ太郎がいずれの日も体感温度を 度にできるような服の購入が不可能である場合,No と出力せよ.
ビ太郎がいずれの日も体感温度を 度にできるような服の購入が可能である場合,1 行目に Yes と出力せよ.さらに,ビ太郎が購入する服の数の最小値を とし,購入する 枚の服の種類をそれぞれ として,2 行目に を出力し,3 行目に 個の整数 を空白区切りで出力せよ. 個の整数 はどの順番で出力してもよい.また,条件を満たす服の購入の仕方が複数存在する場合,そのうちどれを出力してもよい.
3
17 20 23
Yes
2
3 3
1
24
No
Hint
Sample Explanation 1
ビ太郎は種類 の服を 枚購入することで,今後 日間のいずれの日も体感温度を 度とすることができる.具体的には,以下のように服を着ることでいずれの日も体感温度が 度となるようにすることができる.
- 1 日目は,種類 の服を 枚着る.
- 2 日目は,種類 の服を 枚着る.
- 3 日目は,服を 枚も着ない.
枚以下の服の購入で今後 日間のいずれの日も体感温度が 度となるようにすることはできない.
この入力例は小課題 2, 4, 5, 6, 7 の制約を満たす.
Sample Explanation 2
気温が 度の日は体感温度を 度とすることができない.したがって,どのように服を購入しても,今後 日間のいずれの日も体感温度を 度とするようにすることはできない.
制約
- .
- ().
- ().
- 入力される値はすべて整数である.
小課題
- 点.
- 点.
- 点 (),.
- 点 ().
- 点 ().
- 点 ().
- 点追加の制約はない.
京公网安备 11011102002149号