問題一覧 > 通常問題

No.2698 Many Asakatsu

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 16
作問者 : karinohitokarinohito / テスター : KowerKoint2010KowerKoint2010 timitimi hibit_athibit_at
3 ProblemId : 10767 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2024-03-23 03:08:02

問題文

Discord サーバー「あさかつ」では、多様な需要に合わせて難易度の異なる NN 個のバーチャルコンテストを開催しています。
各コンテストは MM 問からなり、ii 個目のコンテストの jj 問目の難易度は Di,jD_{i,j} です。
ここで、Di,jD_{i,j} について以下が成り立つことが保証されます。

  • Di,jDi,j+1D_{i,j}\le D_{i,j+1} (1iN, 1j<M)(1\le i\le N,\ 1\le j\lt M)
  • Di,jDi+1,jD_{i,j}\le D_{i+1,j} (1i<N, 1jM)(1\le i\lt N,\ 1\le j\le M)
  • ii (1iN)(1\le i\le N) について、Di,1,Di,2,,Di,MD_{i,1},D_{i,2},\dots,D_{i,M} はこの順に等差数列をなす

ただし、入力では DiD_{i} の初項 AiA_i と公差 BiB_i のみが与えられ、Di,jD_{i,j} の値は陽に与えられません。

hibit 君はこれらのコンテストに延べ QQ 回参加することにしました。
hibit 君の 11 回目のコンテスト参加前のレートは XX であり、ii 番目のコンテストに参加をする度にレートが CiC_i 増加します。

hibit 君は各回に参加する前の時点でのレートと問題の難易度の差の総和が最も小さいコンテストに参加します。
より具体的には、qq 回目の参加前の hibit 君のレートを RR とし、d(i)=j=1MDi,jRd(i)=\sum_{j=1}^{M}|D_{i,j}-R| としたときの d(i)d(i) の最小値を mm として、d(i)=md(i)=m なる ii が hibit 君が qq 回目に参加するコンテストの番号です。
ただし、d(i)=md(i)=m なる ii が複数ある場合、その中での最小値を参加するコンテストの番号とします。

q=1,2,,Qq=1,2,\dots,Q に対し、hibit 君が qq 回目に参加するコンテストの番号を出力してください。

入力

NN MM
A1A_{1} B1B_{1}
A2A_{2} B2B_{2}
\vdots
ANA_{N} BNB_{N} 
QQ XX
C1C_1 C2C_2 \dots CNC_N

  • 入力はすべて整数
  • 2N1052 \leq N\leq 10^5
  • 2M1092 \leq M\leq 10^9
  • 1Q2×1051 \leq Q \leq 2\times 10^5
  • 0X1090 \leq X \leq 10^9
  • Di,j=Ai+(j1)BiD_{i,j}=A_{i}+(j-1)B_{i} とした時以下が成立
    • 0Di,j1090 \leq D_{i,j} \leq 10^9 (1iN,1jM)(1\le i\le N,1\le j\le M)
    • Di,jDi,j+1D_{i,j}\le D_{i,j+1} (1iN, 1j<M)(1\le i\le N,\ 1\le j\lt M)
    • Di,jDi+1,jD_{i,j}\le D_{i+1,j} (1i<N, 1jM)(1\le i\lt N,\ 1\le j\le M)
  • 0Ci1090 \leq C_i \leq 10^9 (1iN)(1\le i\le N)

出力

q=1,2,,Qq=1,2,\dots,Q に対して、答えを空白区切りで出力せよ。

サンプル

サンプル1
入力
3 3
1 2
6 0
7 1
2 4
3 1 4
出力
1 2

各コンテストの各問題の難易度は以下の通りです。

11 問目 22 問目 33 問目
11 番目のコンテスト 11 33 55
22 番目のコンテスト 66 66 66
33 番目のコンテスト 77 88 99
11 回目の参加について、11 番目のコンテストの難易度とレートの差の総和は 14+34+54=5|1-4|+|3-4|+|5-4|=5 です。同様に、2,32,3 番目のコンテストの難易度とレートの差の総和は、66, 1212 です。最小は 11 番目の 55 なので、11 番目に参加します。
11 回目の参加後、hibit君のレートは 4+C1=4+3=74+C_{1}=4+3=7 となります。
22 回目の参加について、1,2,31,2,3 番目のコンテストの難易度とレートの差の総和はそれぞれ、12,3,312,3,3 です。最小は 2,32,3 番目の 33 なので、このうち番号の小さな 22 番目に参加します。
サンプル2
入力
6 4
0 5
0 6
1 7
6 6
6 10
9 9
5 11
1 12 13 11 25 14
出力
1 1 4 4 6
同じコンテストに複数回参加する場合もあり、その場合でもその都度レートは増加します。
サンプル3
入力
4 4
0 0
1 1
3 3
5 5
4 4229
1 10 100 1000
出力
4 4 4 4

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