Pagini recente » Rating Stefan Claudiu (Claudiu_sherif) | Istoria paginii home | Cod sursa (job #2991144) | Cod sursa (job #1824740) | Cod sursa (job #995847)
Cod sursa(job #995847)
#include<iostream>
using namespace std;
#include<stdio.h>
long long a,b,n,k,i,j,nr,nrfinal,z[500005],s[500005],m[500005],suma;
FILE *f,*g;
int main()
{
f=fopen("divk.in","r");
g=fopen("divk.out","w");
fscanf(f,"%lld%lld%lld%lld\n",&n,&k,&a,&b);
for(i=1;i<=n;i++)
fscanf(f,"%lld",&z[i]);
for(i=1;i<=n;i++)
{s[i]=s[i-1]+z[i];
s[i]=s[i]%k;
}
for(i=1;i<=n;i++)
{
if(i-a>=0)
m[s[i-a]]++;
if(i-b>0)
m[s[i-b-1]]--;
suma=suma+m[s[i]];
}
fprintf(g,"%lld",suma);
}