リフレッシュ間隔の姿勢アップ
TIMELIMIT:2000ミリ秒MemoryLimit:128メガバイト
64ビット整数IOフォーマット:
%LLD
解決済み
|
お気に入りをクリックしてください
| 4人このタイトルのコレクションを持っています
問題の説明
Value_Dragonは金持ちです。新年が近づいたので、彼は赤い封筒を用意しました。しかし、彼の赤い封筒の方法が素晴らしいです。彼は、行のn個の個人をしましょう。各選択期間区間[L、R] 1-Nドルの各個別のセクションに送ります。だから、m回が赤くなりました。彼はそこで、サブ区間[1、n]の中に、次の要件を満たしているどのくらいの髪の間隔後に知りたいと思いました
-
お金秒を取得するには、この間隔より小さくないの総数
-
この範囲の合計数は、各サブインターバルが得られる2つの互いに素のサブインターバルに分割することができ、お金がW以上であります
(注:それ自体を含むサブ間隔の範囲)
このような区間[1,1]の長さなどの抗ピットリマインダは、2つのサブインターバルに分割することができません
入力
最初の行は、データTの配列は整数を表しています。
次に、データのTセットと
nmsw表す4つの整数の各データの先頭に
次のmラインを、各ラインは、2つの数Lであり、rは区間[L、R]のエンドポイントについて表します
ここで、T <= 10
N <= 10 ^ 6、M <= 10 ^ 5
0 <L <= R <= N
0 <= W <= S <10 ^ 8
出力
各間隔データ出力線の数を、代表の要件を満たします
SampleInput
4 1 0 0 0 1000000 0 0 1000000 1 0 0 1 1000000 10 10 20 14 2 10 5 9 5 6 8 2 6 9 10 6 7 6 10 4 5 7
SampleOutput
0 499999500000 499999500000 8