Pagini recente » Cod sursa (job #3359774) | Cod sursa (job #3359775) | Cod sursa (job #3359771) | Cod sursa (job #3359768) | Cod sursa (job #3359784)
#include <fstream>
using namespace std;
ifstream fin("divk.in");
ofstream fout("divk.out");
int v[500005], fr[100001];
int main()
{
int n, k, a, b, i;
long long cnt;
fin >> n >> k >> a >> b;
for(i=1;i<=n;i++) {
fin >> v[i];
v[i]=(v[i]+v[i-1])%k;
}
fr[v[0]]=1;
cnt=0;
for(i=a;i<=n;i++) {
cnt+=1LL*fr[v[i]];
if(i-b>=0) {
fr[v[i-b]]--;
}
fr[v[i-a+1]]++;
}
fout << cnt;
return 0;
}