C - Time Gap

  • image
  • 考えたこと
    • 入力のminより大きくはならない
    • 時差は最大12
    • 整数である条件から、値は13通りしかない
    • 同じ値が3つあると0
    • 12が2つあると0
    • 0が1つあると0
    • 同じ値が2つある場合それとの差のminより大きくはならない
    • 2つあるものは異なる値に割り振って、1個だけあるものを2通りそれぞれ探索したとして、最悪2^12なので明らかに余裕
    • まとめ、Nは50まで増えるけど、探索が必要な数は小さく抑えられることがキモ
  • 公式解説
    • 上記で想定解
    • 別解: 左右に交互に割り振る解が最適であることを示せば線形オーダー

cf17_final