Pagini recente » Cod sursa (job #9057) | Cod sursa (job #2902111) | Cod sursa (job #1466891) | Cod sursa (job #1026047) | Cod sursa (job #951708)
Cod sursa(job #951708)
#include <fstream>
using namespace std;
long long rest[100005],val[500005];
long long n,a,b,k,count,x,ans=0;
int main(){
//ifstream in("divk.in");
//ofstream out("divk.out");
freopen("divk.in","r",stdin);
freopen("divk.out","w",stdout);
//in>>n>>k>>a>>b;
scanf("%d %d %d %d",&n,&k,&a,&b);
for(int i=1;i<=n;i++){
//in>>x;
scanf("%d",&x);
count=(count+x)%k;
val[i]=count;
if((i-a)>=0)
rest[val[i-a]]++;
if((i-b-1)>=0)
rest[val[i-b-1]]--;
ans+=rest[count];
}
//out<<ans;
printf("%lld",ans);
return 0;
}