Cod sursa(job #196024)
| Utilizator | Data | 23 iunie 2008 23:29:15 | |
|---|---|---|---|
| Problema | Divk | Scor | 50 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.38 kb |
#include<stdio.h>
#define NMAX 500001
int main(){
freopen("divk.in","r",stdin);
freopen("divk.out","w",stdout);
long long v[NMAX];
int n,i,j,nrs=0,k,a,b,x;
scanf("%d%d%d%d",&n,&k,&a,&b);
v[0]=0UL;
for(i=1;i<=n;++i){
scanf("%d",&x);
v[i]=v[i-1]+x;
if(v[i]>=k) v[i]=v[i]%k;
}
for(j=a;j<=b;++j)
for(i=j;i<=n;++i)
if(v[i]==v[i-j]) nrs++;
printf("%d",nrs);
return 0;
}
