問題描述
給定乙個長度為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資料規模和約定
峰值記憶體消耗(含虛擬機器) < 256m
cpu消耗 < 2000ms
#include#include#includeusing namespace std;
typedef long long ll;
/*說實話,最難的地方就是中間的乙個st-ed,如果我們暴力的話,就又得加一層迴圈
這道題就巧妙在直接用 % ,實現了乙個判斷的功能,學習了
*/ const int maxn=1e5+10;
int val[maxn],sum[maxn];
ll cnt[maxn];
int main()
ll ans=0;
for(int i=1;i<=n;i++)
printf("%lld\n",ans);
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 ...
歷屆試題 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 ...
歷屆試題 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 ...