Pagini recente » Cod sursa (job #2933125) | Cod sursa (job #1205009) | Cod sursa (job #2149065) | Cod sursa (job #1516909) | Cod sursa (job #538406)
Cod sursa(job #538406)
#include <stdio.h>
#define N 500001
using namespace std;
long long k,a,b,n,x,sol;
int i;
long long V[N],T[N];
FILE *f,*g;
int main()
{
f=fopen("divk.in","r");
g=fopen("divk.out","w");
fscanf(f,"%lld %lld %lld %lld",&n,&k,&a,&b);
for (i=1;i<=n;++i)
{
fscanf(f,"%lld",&x);
V[i]=(V[i-1]+x)%k;
}
sol=0;
for (i=a;i<=b;++i)
{
T[V[i-a]]++;
sol+=T[V[i]];
}
for (i=b+1;i<=n;++i)
{
T[V[i-a]]++;
T[V[i-b-1]]--;
sol+=T[V[i]];
}
fprintf(g,"%d ",sol);
fclose(f);
fclose(g);
return 0;
}