Pagini recente » Cod sursa (job #1798473) | Cod sursa (job #1533170) | Borderou de evaluare (job #1853212) | Cod sursa (job #1107508) | Cod sursa (job #3314234)
#include <bits/stdc++.h>
using namespace std;
int sp[500001], fr[100001];
int main()
{
#ifndef LOCAL
ifstream cin("divk.in");
ofstream cout("divk.out");
#endif
int N, K, A, B;
cin >> N >> K >> A >> B;
for(int i = 1; i <= N; ++i) {
int nr;
cin >> nr;
sp[i] = (sp[i-1] + nr) % K;
}
int nrSiruri = 0;
for(int i = A; i <= N; ++i) {
if(i > B) --fr[sp[i-B-1]];
++fr[sp[i-A]];
nrSiruri += fr[sp[i]];
}
cout << nrSiruri;
return 0;
}