Pagini recente » Cod sursa (job #1324711) | Cod sursa (job #1946718) | Cod sursa (job #2154492) | Cod sursa (job #149975) | Cod sursa (job #306289)
Cod sursa(job #306289)
#include<stdio.h>
unsigned long long int v[500010],i,j,k,l,m,a,b,n,p,q,r[100010],sol;
int main(){
freopen("divk.in","r",stdin);
freopen("divk.out","w",stdout);
scanf("%lld %lld %lld %lld",&n,&k,&a,&b);
for(i=1;i<a&&i<=n;i++)
{scanf("%lld",&v[i]);
v[i]=(v[i]+v[i-1])%k;
}
p=1;
for(i=a;i<=b&&i<=n;i++)
{scanf("%lld",&v[i]);
v[i]=(v[i]+v[i-1])%k;
if(!v[i])sol++;
r[v[p++]]++;
sol+=r[v[i]];
}
q=1;
for(i=b+1;i<=n;i++)
{scanf("%lld",&v[i]);
v[i]=(v[i]+v[i-1])%k;
r[v[p++]]++;
r[v[q++]]--;
sol+=r[v[i]];}
printf("%lld",sol);
return 0;}