D. Frets On Fire 【二分,前缀和】 (Codeforces Global Round 2)
题目传送门:http://codeforces.com/contest/1119/problem/D
D. Frets On Fire
time limit per test1.5 seconds
memory limit per test256 megabytes
input standard input output standard outputMiyako came to the flea kingdom with a ukulele. She became good friends with local flea residents and played beautiful music for them every day.
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。In return, the fleas made a bigger ukulele for her: it has nn strings, and each string has (1018+1)(1018+1) frets numerated from 00 to 10181018. The fleas use the array s1,s2,…,sns1,s2,…,sn to describe the ukulele's tuning, that is, the pitch of the jj-th fret on the ii-th string is the integer si+jsi+j.
Miyako is about to leave the kingdom, but the fleas hope that Miyako will answer some last questions for them.
Each question is in the form of: "How many different pitches are there, if we consider frets between ll and rr (inclusive) on all strings?"
Miyako is about to visit the cricket kingdom and has no time to answer all the questions. Please help her with this task!
Formally, you are given a matrix with nn rows and (1018+1)(1018+1) columns, where the cell in the ii-th row and jj-th column (0≤j≤10180≤j≤1018) contains the integer si+jsi+j. You are to answer qq queries, in the kk-th query you have to answer the number of distinct integers in the matrix from the lklk-th to the rkrk-th columns, inclusive.
InputThe first line contains an integer nn (1≤n≤1000001≤n≤100000) — the number of strings.
The second line contains nn integers s1,s2,…,sns1,s2,…,sn (0≤si≤10180≤si≤1018) — the tuning of the ukulele.
The third line contains an integer qq (1≤q≤1000001≤q≤100000) — the number of questions.
The kk-th among the following qq lines contains two integers lklk,rkrk (0≤lk≤rk≤10180≤lk≤rk≤1018) — a question from the fleas.
OutputOutput one number for each question, separated by spaces — the number of different pitches.
Examples input Copy6output Copy
3 1 4 1 5 9
3
7 7
0 2
8 17
5 10 18input Copy
2output Copy
1 500000000000000000
2
1000000000000000000 1000000000000000000
0 1000000000000000000
2 1500000000000000000Note
For the first example, the pitches on the 66 strings are as follows.
Frets1:s2:s3:s4:s5:s6:031415914252610253637113647481247585913586961014697107111571081181216………………