Cod sursa(job #630289)
| Utilizator | Data | 5 noiembrie 2011 09:05:42 | |
|---|---|---|---|
| Problema | Divk | Scor | 10 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.41 kb |
#include<stdio.h>
#define N 500001
long n,k,a,b,i,c[N],v[N];
long long s[N],t;
int main()
{FILE *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",&c[i]),s[i]=s[i-1]+c[i];
if(i>=b&&v[s[i-b]%k]>0)
v[s[i-b]%k]--;
if(i>=a)
v[s[i-a+1]%k]++;
t+=v[s[i]%k];}
fprintf(g,"%lld",t);
return 0;}
