Mai intai trebuie sa te autentifici.
Cod sursa(job #65540)
Utilizator | Data | 10 iunie 2007 17:55:48 | |
---|---|---|---|
Problema | Divk | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.45 kb |
#include<stdio.h>
long int n,k,a,b,i,cit,v[100001],s[500001],sol;
int main()
{
FILE *f,*g;
f=fopen("divk.in","r");
g=fopen("divk.out","w");
fscanf(f,"%ld%ld%ld%ld",&n,&k,&a,&b);
for(i=1;i<=n;i++)
{ fscanf(f,"%ld",&cit);
s[i]=(s[i-1]+cit)%k;
}
for(i=1;i<a;i++) v[s[i]]++;
for(i=a;i<=b;i++) {sol+=v[s[i]];v[s[i]]++;}
for(i=b+1;i<=n ;i++) {sol+=v[s[i]];v[s[i]]++;v[i-b]--;}
fprintf(g,"%ld\n",sol);
fcloseall();
return 0;
}