Pagini recente » Cod sursa (job #2910747) | Cod sursa (job #2396452) | Cod sursa (job #3238191) | Cod sursa (job #2745659) | Cod sursa (job #1126207)
#include <fstream>
#include <vector>
using namespace std;
ifstream fin ("divk.in");
ofstream fout ("divk.out");
const int NMAX = 500009;
const int KMAX = 100009;
int N; int K; int A; int B;long long V[NMAX];long long nr[NMAX]; long long sol; long long T[NMAX];
int main() {
fin >> N >> K >> A >>B;
int sum = 0;
for(int i = 1; i <= N; ++i) {
fin >> V[i];
T[i] = (T[i - 1] + V[i]) % K;
if(i >= A) nr[T[i - A]]++;
if(i > B) nr[T[ i - B - 1 ]]--;
sol += nr[T[i]];
}
fout << sol;
return 0;
}