Pagini recente » Cod sursa (job #1463696) | Cod sursa (job #54639) | Cod sursa (job #869655) | Cod sursa (job #843000) | Cod sursa (job #475905)
Cod sursa(job #475905)
#include <iostream>
#include <fstream>
#define nmax 500005
using namespace std;
const char iname[] = "divk.in";
const char oname[] = "divk.out";
ifstream fin(iname);
ofstream fout(oname);
int N, K, A, B, i;
int S[nmax], V[nmax], sol, Sol[nmax];
int main()
{
fin >> N >> K >> A >> B;
for(i = 1; i <= N; i ++)
fin >> V[i];
for(i = 1; i <= N; i ++)
S[i] = (S[i - 1] + V[i]) % K;
sol = 0;
S[0] = 0;
for(i = A; i <= N; i ++)
{
++ Sol[S[i - A]];
if(i - B - 1 >= 0)
-- Sol[S[i - B - 1]];
sol += Sol[S[i]];
}
fout << sol;
return 0;
}