ZeroJudge E339: 前綴和練習

給定一陣列 A,請輸出這個陣列的前綴和陣列 B

定義 : 當 B[i] 為 A[0] + A[1] + … A[i],B 陣列為 A 陣列的前綴和。

範例測資

範例輸入範例輸出
輸入的第一行有一個整數 N (1 <= N <= 200000),代表 A 陣列大小。
第二行有 N 個整數以空白分隔,依序表示A[0]、A[1]、A[2]、 … 、A[N – 1]。
陣列中數字的絕對值不會超過109
輸出一行,其中有 N 個整數以空白分隔,依序表示 B[0、B[1]、B[2]、…、B[N – 1]。
5
1 2 3 4 5
1 3 6 10 15

解題思路

可以使用 For迴圈 來收資料,並且使用一個變數來存目前的前綴和。需要注意本題需使用 Long Long Int

範例程式碼-ZeroJudge E339: 前綴和練習

#include <iostream>
using namespace std;

int main() {
  cin.sync_with_stdio(0);
  cin.tie(0);
  long long int N, sum = 0;
  cin >> N;
  for (int i = 0; i<N; ++i)
    {
      long long int tmp;
      cin >> tmp;
      sum += tmp;
      cout << sum << " ";
    }
  cout << "\n";
}

//ZeroJudge E339
//Dr. SeanXD

發佈留言