藍橋 k倍區間(字首和)

2021-08-27 09:01:29 字數 750 閱讀 2046

給定乙個長度為n的數列,a1, a2, … an,如果其中一段連續的子串行ai, ai+1, … aj(i <= j)之和是k的倍數,我們就稱這個區間[i, j]是k倍區間。

你能求出數列中總共有多少個k倍區間嗎?

第一行包含兩個整數n和k。(1 <= n, k <= 100000) 

以下n行每行包含乙個整數ai。(1 <= ai <= 100000)

輸出乙個整數,代表k倍區間的數目。

例如, 

輸入: 

5 2 

1 2 

3 4 

5程式應該輸出: 

6如果我按下面所示的打的話,純粹是我xx吃擰了!

#include using namespace std;

int main()

}

cout <應該按字首和來做!!! 對於任意一段區間[l,r]的和就是sum[r]-sum[l-1].

#includeusing namespace std;

typedef long long ll;

const int maxn = 1e5+5;

ll num[maxn],sum[maxn];

int n,k;

int main()

printf("%lld\n",ans + num[0]);

}return 0;

}

藍橋 k倍區間 字首和

題目描述 給定乙個長度為n的數列,a1,a2,an,如果其中一段連續的子串行ai,ai 1,aj i j 之和是k的倍數,我們就稱這個區間 i,j 是k倍區間。你能求出數列中總共有多少個k倍區間嗎?輸入 第一行包含兩個整數n和k。1 n,k 100000 以下n行每行包含乙個整數ai。1 ai 10...

藍橋杯 k倍區間(字首和)

給定乙個長度為n的數列,a1,a2,an,如果其中一段連續的子串行ai,ai 1,aj i j 之和是k的倍數,我們就稱這個區間 i,j 是k倍區間。你能求出數列中總共有多少個k倍區間嗎?輸入 第一行包含兩個整數n和k。1 n,k 100000 以下n行每行包含乙個整數ai。1 ai 100000 ...

藍橋杯 k倍區間(字首和)

資源限制 時間限制 2.0s 記憶體限制 256.0mb 問題描述 給定乙個長度為n的數列,a1,a2,an,如果其中一段連續的子串行ai,ai 1,aj i j 之和是k的倍數,我們就稱這個區間 i,j 是k倍區間。你能求出數列中總共有多少個k倍區間嗎?輸入格式 第一行包含兩個整數n和k。1 n,...