Pagini recente » Cod sursa (job #1532500) | Cod sursa (job #1917435) | Cod sursa (job #168282) | Cod sursa (job #3345305) | Cod sursa (job #3313737)
#include <iostream>
#include <fstream>
#define NMAX 500000
#define KMAX 100000
using namespace std;
using ll = long long;
ifstream fin ("divk.in");
ofstream fout ("divk.out");
ll sp[NMAX+2];
int freq[KMAX+2];
int main()
{
int n,k,a,b,i;
fin>>n>>k>>a>>b;
ll ans=0;
for(i=1;i<=n;i++)
{
fin>>sp[i];
sp[i]+=sp[i-1];
sp[i]=sp[i]%k;
}
if(b<a)
swap(a,b);
for(i=a;i<=n;i++)
{
freq[sp[i-a]]++;
if(i>b)
freq[sp[i-b-1]]--;
ans+=freq[sp[i]];
}
fout<<ans;
return 0;
}