Pagini recente » Cod sursa (job #2693280) | Cod sursa (job #2850127) | Cod sursa (job #597893) | Cod sursa (job #2055287) | Cod sursa (job #244351)
Cod sursa(job #244351)
#include<stdio.h>
long int v[500011],re[100001],i,j,k,l,m,n,a,b;
unsigned long long int x,nr,sum;
int main(){
FILE *f=fopen("divk.in","r");
fscanf(f,"%ld %ld %ld %ld",&n,&k,&a,&b);
re[0]=0;
for(m=1;m<=n;m++)
{
fscanf(f,"%lld",&x);
sum+=x;
sum=sum%k;
v[m]=re[sum];
re[sum]=m;
if(sum==0)
if(m>=a)
if(m<=b)
nr++;
for(i=v[m];i!=0&&(m-i<=b)&&i;i=v[i])
if(m-i>=a)
nr++;
}
fclose(f);
FILE *g=fopen("divk.out","w");
fprintf(g,"%lld",nr);
fclose(g);
return 0;}