Cod sursa(job #331843)

Utilizator doru.nituNitu Doru Constantin doru.nitu Data 15 iulie 2009 14:36:07
Problema Divk Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include<stdio.h>

int i,n,k,x,y,v[100001],j;
long long a[500010],rez;

int main()
{ 
    freopen("divk.in","r",stdin);
    freopen("divk.out","w",stdout);
    
    scanf("%d %d %d %d",&n,&k,&x,&y);
    for(i=1;i<=n;i++) { scanf("%lld",&a[i]);
                        a[i]+=a[i-1];
                        rez+=v[a[i]%k];
                        if(i-x+1>=0) v[a[i-x+1]%k]++;
                        if(i-y>=0)   v[a[i-y]%k]--;
                      } 
    printf("%lld\n",rez);
    fclose(stdin);
    fclose(stdout);
    return 0;
}