

Time Limit: 2 sec / Memory Limit: 1024 MB
配点 : 800(+1) 点
ストーリー
20XX 年、パ研は技術室奥を捨て、海賊となり大海原に漕ぎ出した...
問題文
1 から N までの番号が振られた N 人の海賊が、1 から 10^{12} までの番号が振られた 10^{12} 個のお宝を山分けします。それぞれの海賊には分配されるお宝へのこだわりがあり、海賊 i は番号が L_i 以上 R_i 以下であるようなお宝のみを欲しがってその他のお宝は受け取りません。ここで海賊たちの間には「番号が大きい海賊はそれよりも番号が小さい海賊のお零れをもらうべきだ」という暗黙のことわりがあるため、すべての i,j\ (1 \leq i \lt j \leq N) について L_j \leq L_i かつ R_i \leq R_j が満たされます。
海賊たちはこの数日、様々な山分けの仕方について考えを巡らせています。そこで、以下の Q 個のクエリを順に処理してください。
- 海賊 l,l+1,\ldots,r でお宝を山分けするとき、それぞれがもらうお宝の個数の最小値は最大でいくらになるか。
制約
- 2 \leq N \leq 10^5
- 1 \leq Q \leq 2 \times 10^5
- 1 \leq L_i \leq R_i \leq 10^{12}\ (1 \leq i \leq N)
- すべての i,j\ (1 \leq i \lt j \leq N) について、L_j \leq L_i かつ R_i \leq R_j が満たされる
- 各クエリにおいて、1 \leq l \leq r \leq N が満たされる
- 入力は全て整数
Extra ケース
下記の制約を満たすデータセット(上記の制約を満たす 800 点分のテストケースを含む)に正解した場合、追加で 1 点が与えられる。ただし、このデータセットにおいては低速な言語による AC が可能であることは保証されない。
- 2 \leq N \leq 5 \times 10^5
- 1 \leq Q \leq 5 \times 10^5
入力
入力は以下の形式で標準入力から与えられる。
N L_1 R_1 L_2 R_2 \hspace{0.5cm}\vdots L_N R_N Q \text{query}_1 \text{query}_2 \hspace{0.4cm}\vdots \text{query}_Q
i 個目のクエリの内容は \text{query}_i によって表され、その内容は以下の形式で与えられる。
l r
出力
Q 行に渡って出力せよ。i\ (1 \leq i \leq Q) 行目には i 個目のクエリへの答えを出力すること。
入力例 1
2 2 4 1 5 2 1 2 2 2
出力例 1
2 5
1 つ目のクエリにおいては、例えば以下のような山分けの仕方が考えられます。
- 海賊 1 にお宝 2,3 を、海賊 2 にお宝 4,5 を割り当てる。
2 つ目のクエリにおいては、海賊 2 にお宝 1,2,3,4,5 の全てを割り当てればよいです。
入力例 2
10 545730128881 685343573126 495640031759 777974687460 441446188770 793309056685 376909511228 836745593749 371724504348 838698721858 232388555737 839645478663 171431376831 859733468976 64650919635 891249391583 54537347654 900209259449 7975806821 908972571709 10 9 9 2 3 1 6 3 9 2 10 1 2 3 4 5 6 2 9 7 8
出力例 2
845671911796 175931433958 93394843502 120810273113 100110751654 139613444246 229918041261 303628461463 105708988974 413299235974
原案: penguinman