当前位置: 首页 > 工具软件 > Frets On Fire > 使用案例 >

D. Frets On Fire 【二分,前缀和】 (Codeforces Global Round 2)

管和志
2023-12-01

题目传送门:http://codeforces.com/contest/1119/problem/D

D. Frets On Fire

time limit per test

1.5 seconds

memory limit per test

256 megabytes

input
standard input
output
standard output

Miyako came to the flea kingdom with a ukulele. She became good friends with local flea residents and played beautiful music for them every day.

In return, the fleas made a bigger ukulele for her: it has nstrings, 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 (0j10180≤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.

Input

The first line contains an integer nn (1n1000001≤n≤100000) — the number of strings.

The second line contains nn integers s1,s2,,sns1,s2,…,sn (0si10180≤si≤1018) — the tuning of the ukulele.

The third line contains an integer qq (1q1000001≤q≤100000) — the number of questions.

The kk-th among the following qq lines contains two integers lklk,rkrk (0lkrk10180≤lk≤rk≤1018) — a question from the fleas.

Output

Output one number for each question, separated by spaces — the number of different pitches.

Examples
input
Copy
6
3 1 4 1 5 9
3
7 7
0 2
8 17
output
Copy
5 10 18
input
Copy
2
1 500000000000000000
2
1000000000000000000 1000000000000000000
0 1000000000000000000
output
Copy
2 1500000000000000000
Note

For the first example, the pitches on the 66 strings are as follows.

Frets1:s2:s3:s4:s5:s6:031415914252610253637113647481247585913586961014697107111571081181216
 类似资料: