Vijos 1090題 連續數之和

2021-07-31 06:22:01 字數 787 閱讀 1281

有n個正整數排成一行。你的目的是要從中取出乙個或連續的若干個數,使它們的和能夠被k整除。

例如,有6個正整數,它們依次為1、2、6、3、7、4。若k=3,則你可以取出1、2、6,或者2、6、3、7,也可以僅僅取出乙個6或者3使你所取的數之和能被3整除。當然,滿足要求的取法不止以上這4種。事實上,一共有7種取法滿足要求。

給定n和k,以及這n個數。你的任務就是確定,從這n個數中取出其中乙個數或者若干連續的數使它們的和能被k整除有多少方法。

由於取法可能很多,因此你只需要輸出它mod 1234567的值即可。

輸入格式

第一行有兩個正整數,分別代表n和k。輸入資料保證有n<=500 000,k<=100 000。

以下n行每行乙個正整數。這些正整數保證都不大於10 000。

輸出格式

乙個正整數。它應該是你的答案mod 1234567的結果。

樣例輸入1

6 312

6374

樣例輸出1

7
各個測試點1s

#include

using

namespace std;

int a[

100001];

intmain()

cout << ans << endl;

return0;

}

Vijos 連續數之和 組合數學

描述 有n個正整數排成一行。你的目的是要從中取出乙個或連續的若干個數,使它們的和能夠被k整除。例如,有6個正整數,它們依次為1 2 6 3 7 4。若k 3,則你可以取出1 2 6,或者2 6 3 7,也可以僅僅取出乙個6或者3使你所取的數之和能被3整除。當然,滿足要求的取法不止以上這4種。事實上,...

Vijos P1090 連續數之和

時間限制 1 sec 記憶體限制 64 mb 有n個正整數排成一行。你的目的是要從中取出乙個或連續的若干個數,使它們的和能夠被k整除。例如,有6個正整數,它們依次為1 2 6 3 7 4。若k 3,則你可以取出1 2 6,或者2 6 3 7,也可以僅僅取出乙個6或者3使你所取的數之和能被3整除。當然...

Vijos 1130題 數的計數

我們要求找出具有下列性質數的個數 包含輸入的自然數n 先輸入乙個自然數n n 1000 然後對此自然數按照如下方法進行處理 l 不作任何處理 2 茬它的左邊加上乙個自然數,但該自然數不能超過原數的一半 3 加上數後,繼續按此規則進行處理,直到不能再立生自然數為止。輸入格式 自然數n 輸出格式 滿足條...