問題一覧 > 通常問題

No.1965 Heavier

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 86
作問者 : milkcoffee / テスター : platinum
15 ProblemId : 7894 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2022-05-11 23:28:41

問題文

11 から NN の番号がついた NN 人の人間と、同じく 11 から NN の番号がついた荷物があります。
ii の体重は AiA_i、荷物 ii の重さは BiB_i です。
NN 人の体重は全て異なり、体重が軽い順に番号がつけられています。すなわち、Ai<Ai+1 (1iN1)A_i < A_{i+1} \ (1 \leq i \leq N-1) が成り立ちます。

ii と人 jj (i<j)(i < j) の勝負を以下のように定義します。

  • ii が荷物 ii を、人 jj が荷物 jj をそれぞれ手に持つ。
  • Bi<BjB_i < B_j であれば、お互いの手に持つ荷物を交換する。つまり、体重がより軽い方の人が、重い方の荷物を持つようにする。
  • 自分の体重と、現在手に持っている荷物の重さの和が真に大きい方を勝ちとする。等しい場合は引き分けとする。

(1L<RN)(1 \leq L < R \leq N) において区間 [L,R][L,R] が以下を満たすとき、[L,R][L,R]良い区間 であると言います。
  • 区間内の全ての組 (i,j) (Li<jR)(i,j) \ (L \leq i < j \leq R) について、人 jj が人 ii に勝つ。つまり、どの組でも体重が重い方が勝つ。

良い区間 の数を求めてください。

入力

NN
A1 A2 ANA_1 \ A_2 \ \dots A_N
B1 B2 BNB_1 \ B_2 \ \dots B_N

  • 2N2×1052 \leq N \leq 2 \times 10^5
  • 1A1<A2<<AN1091 \leq A_1 < A_2 < \dots < A_N \leq 10^9
  • 1Bi109 (1iN)1 \leq B_i \leq 10^9 \ (1 \leq i \leq N)
  • 入力は全て整数

出力

良い区間 の数を出力してください。

サンプル

サンプル1
入力
3
2 4 8
2 1 2
出力
3

11 と人 22 の勝負について、荷物は交換しません。 A1+B1<A2+B2A_1+B_1 < A_2+B_2 なので人 22 が勝ちます。
11 と人 33 の勝負について、荷物は交換しません。 A1+B1<A3+B3A_1+B_1 < A_3+B_3 なので人 33 が勝ちます。
22 と人 33 の勝負について、荷物を交換します。 A2+B3<A3+B2A_2+B_3 < A_3+B_2 なので人 33 が勝ちます。

22 が人 11 に勝つため、区間 [1,2][1,2]良い区間 です。
33 が人 22 に勝つため、区間 [2,3][2,3]良い区間 です。
22 が人 11 に勝ち、人 33 が人 11 と人 22 に勝つため、区間 [1,3][1,3]良い区間 です。

サンプル2
入力
2
1 10
1 1000
出力
0

22 は人 11 に勝たないため、区間 [1,2][1,2]良い区間 ではありません。

サンプル3
入力
2
1 2
2 3
出力
0

11 と人 22 は引き分けになります。

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