問題一覧 > 通常問題

No.1568 Sushi

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 7
作問者 : blackyuki / テスター : KoD PCTprobability
1 ProblemId : 6306 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2021-04-21 09:52:34

問題文

寿司取るな君は回転寿司店を営んでおり、寿司は環状のレーンによって客に届けられます。

レーンの長さは L であり、1 秒あたり長さ 1 動く速さで回っています。
初め、レーンは反時計回りに回っていますが、動く向きが反対になるタイミングが N 回存在します。
i(1iN) 回目の切り替わりは時刻 Ai に起こります。

また、レーンの周りには L 個の椅子が等間隔に並んでおり、反時計回りに 0,1,2,,L1 と番号付けられています。

寿司取るな君は、客の注文に素早く対応するためのトレーニングとして、Q 回からなる思考実験を行うことにしました。
i(1iQ) 回目の思考実験では、客が椅子 xi の前に、時刻 ti に訪れます。
寿司取るな君は、時刻 ti 以降(客が訪れた瞬間でも構いません)、注文された寿司を椅子 0 の前のレーン上に置くことができます。
客は、寿司が自分の目の前に来た瞬間に寿司を取ることができます。客が訪れた瞬間、あるいは寿司取るな君が寿司を置いた瞬間であってもよいです。
寿司取るな君は、彼が最適な時刻に寿司を置くとき、客が訪れてから寿司を取るまでの時間の最小値を求めたいです。

ただし、入力では直接的には xi,ti の値は与えられません。これらの値を計算するための整数 Bi,Ci が与えられるので、以下のように xi,ti を定めてください。

  • 1 回目の思考実験の場合、xi=Bi,ti=Ci とする。
  • 2 回目以降の思考実験の場合、i1 回目の思考実験の答えの値(問題の制約下で、これは整数であることが証明できる)を D として、xi=(Bi+D)modL,ti=(Ci+D)mod1015 とする。

  • (原案:harady)

    入力

    LNQ
    A1A2A3AN
    B1C1
    B2C2
    
    BQCQ
    
  • 入力は全て整数
  • 1L1015
  • 1N2×105
  • 1Q2×105
  • 1Ai1015 (1iN)
  • Ai<Ai+1(1iN1)
  • 0Bi<L(1iQ)
  • 0Ci<1015(1iQ)
  • 出力

    合計 Q 行出力してください。i(1iQ) 行目には i 回目の思考実験に対する答えを出力してください。 最後に改行してください。

    サンプル

    サンプル1
    入力
    10 3 3
    1 5 16
    8 0
    2 5
    3 9
    
    出力
    3
    5
    4
    

    まず、1 回目の思考実験では x=8,t=0 です。このとき、時刻 1 に寿司を置くと時刻 3 に客に到着し、これが最適です。よって 3 を出力してください。
    2 回目の思考実験では x=5,t=8 です。このとき、時刻 8 に寿司を置くと時刻 13 に客に到着し、これが最適です。よって 5 を出力してください。
    3 回目の思考実験では x=8,t=14 です。このとき、時刻 16 に寿司を置くと時刻 18 に客に到着し、これが最適です。よって 4 を出力してください。

    サンプル2
    入力
    20 2 1
    5 6
    7 0
    
    出力
    9
    

    時刻 0 に寿司を置くのが最適です。

    提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。