h 子段求和
給出乙個長度為n的陣列,進行q次查詢,查詢從第i個元素開始長度為l的子段所有元素之和。
例如,1 3 7 9 -1,查詢第2個元素開始長度為3的子段和,1 -1。3 + 7 + 9 = 19,輸出19。
input
第1行:乙個數n,n為陣列的長度(2 <= n <= 50000)。
第2 至 n + 1行:陣列的n個元素。(-10^9 <= n
i i
<= 10^9)
第n + 2行:1個數q,q為查詢的數量。
第n + 3 至 n + q + 2行:每行2個數,i,l(1 <= i <= n,i + l <= n)
output
共q行,對應q次查詢的計算結果。
sample input
51379-14
1 22 2
3 21 5
sample output
41016
19
這道題我開始是從第i個數直接加到i+l-1,然後交上去果然超限了
然後就先加再減。。。。我好像講不清楚,反正看**吧!
**:#include #include #include using namespace std;
long long d[50005];
int main()
int q;
cin>>q;
while(q--)
{int l,r;
cin>>l>>r;
int k=r+l-1;
cout<
51nod 1081 子段求和
1081 子段求和 基準時間限制 1 秒 空間限制 131072 kb 分值 0 難度 基礎題 給出乙個長度為n的陣列,進行q次查詢,查詢從第i個元素開始長度為l的子段所有元素之和。例如,1 3 7 9 1,查詢第2個元素開始長度為3的子段和,1 1。3 7 9 19,輸出19。input 第1行 ...
51NOD 1081 子段求和
1081 子段求和 給出乙個長度為n的陣列,進行q次查詢,查詢從第i個元素開始長度為l的子段所有元素之和。例如,1 3 7 9 1,查詢第2個元素開始長度為3的子段和,1 1。3 7 9 19,輸出19。input 第1行 乙個數n,n為陣列的長度 2 n 50000 第2 至 n 1行 陣列的n個...
51 nod 1081 子段求和
1081 子段求和 基準時間限制 1 秒 空間限制 131072 kb 分值 0 難度 基礎題 給出乙個長度為n的陣列,進行q次查詢,查詢從第i個元素開始長度為l的子段所有元素之和。例如,1 3 7 9 1,查詢第2個元素開始長度為3的子段和,1 1。3 7 9 19,輸出19。input 第1行 ...