atcoder#ABC287G. [ABC287G] Balance Update Query

[ABC287G] Balance Update Query

配点 : 600600

問題文

高橋君は NN 種類のカードを 1010010^{100} 枚ずつ持っています。はじめ、ii 種類目のカードの得点は aia_i で、使用可能枚数は bib_i です。

以下の形式のクエリが QQ 個与えられるので、順に処理してください。

  • 1 x y : xx 種類目のカードの得点を yy に設定
  • 2 x y : xx 種類目のカードの使用可能枚数を yy に設定
  • 3 x : 次の条件を満たすように xx 枚のカードを選ぶことができるならば選ばれたカードの得点の総和の最大値を、そうでなければ -1 を出力- どの種類のカードもその使用可能枚数を超えて選ばれない
  • どの種類のカードもその使用可能枚数を超えて選ばれない

制約

  • 1N,Q2×1051 \leq N,Q \leq 2 \times 10^5
  • 0ai1090 \leq a_i \leq 10^9
  • 0bi1040 \leq b_i \leq 10^4
  • 11 種類目のクエリにおいて 1xN,0y1091 \leq x \leq N, 0 \leq y \leq 10^9
  • 22 種類目のクエリにおいて 1xN,0y1041 \leq x \leq N, 0 \leq y \leq 10^4
  • 33 種類目のクエリにおいて 1x1091 \leq x \leq 10^9
  • 33 種類目のクエリが 11 個以上含まれる
  • 入力はすべて整数

入力

入力は以下の形式で標準入力から与えられる。ただし、queryi\mathrm{query}_iii 番目のクエリを表す。

NN

a1a_1 b1b_1

\vdots

aNa_N bNb_N

QQ

query1\mathrm{query}_1

\vdots

queryQ\mathrm{query}_Q

出力

33 種類目のクエリの個数を MM とする。MM 行出力をせよ。 ii 行目には ii 番目の 33 種類目のクエリに対する出力をせよ。

3
1 1
2 2
3 3
7
3 4
1 1 10
3 4
2 1 0
2 3 0
3 4
3 2
11
19
-1
4

11 番目の 33 種類目のクエリでは、22 種類目のカードを 11 枚、33 種類目のカードを 33 枚選ぶことで得点の総和が 1111 となり、これが最大です。 22 番目の 33 種類目のクエリでは、11 種類目のカードを 11 枚、33 種類目のカードを 33 枚選ぶことで得点の総和が 1919 となり、これが最大です。 33 番目の 33 種類目のクエリでは、44 枚のカードを選ぶことができないため出力は -1 となります。 44 番目の 33 種類目のクエリでは、22 種類目のカードを 22 枚選ぶことで得点の総和が 44 となり、これが最大です。