Pagini recente » Cod sursa (job #2080322) | Cod sursa (job #2068416) | Cod sursa (job #3241350) | Cod sursa (job #1555569) | Cod sursa (job #1565706)
#include <fstream>
using namespace std;
ifstream is("divk.in");
ofstream os("divk.out");
int N, K, A, B;
int x[500001];
int S[500001];
int ceva[100001];
void Input();
int main()
{
Input();
int b = 0;
int a = b-B;
long long sol = 0;
for (int i = A; i <= N; ++i, ++a, ++b)
{
ceva[S[b]]++;
if (a >= 0)
ceva[S[a]]--;
sol += ceva[S[i]];
}
os << sol;
is.close();
os.close();
}
void Input()
{
is >> N >> K >> A >> B;
for (int i = 1; i <= N; ++i)
{
is >> x[i];
S[i] += S[i-1] + x[i];
if (S[i] >= K)
S[i] %= K;
}
}